disp语句怎么格式 matlab_第三章Matlab程序设计1 -

课程名称:Matlab应用

教 材:Matlab应用与实验教程

讲 授 人: 专业技术职务:讲师 学 历: 研究生 学 位:硕士 讲授题目:Matlab程序设计

所属章节:第三章 计划学时:4学时 教学目的和要求:

用交互式的方式来编写程序适用于命令行比较简单,输入比较方便,同时处理的问题步骤比较少的情况。当需要处理重复、较复杂的且容易出错的问题时,可以进行控制流量的程序设计,这就是M文件的编程方式。 教学重点:

1、 Matlab的控制流量语言 2、 变量和函数的种类 3、 了解程序的调试和优化 教学难点: 1、 M文件

2、 变量和函数的种类 3、 程序设计的复制函数 教学方法:

讲授、演示

使用教具: 多媒体课件

思 考 题:

1、命令文件与函数文件的主要区别是什么?

(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;

(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;

(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。

2、编制一个解数论问题的函数文件:取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。

function c=collatz(n) % collatz

% Classic “3n+1” Ploblem from number theory c=n;

while n>1

if rem(n,2)==0 n=n/2; else

n=3*n+1; end c=[c n]; end

参考资料:

【1】 Matlab Programming for Engineers.(Second Edition).Stephen

J.Champan

【2】 精通Matlab 7王正林.刘明编著.电子工业出版社

第3章Matlab程序设计

Matlab命令的执行方式

1、 交互式命令执行方式(命令窗口)逐条输入,逐条执行,操作简单、直

观,但速度慢,执行过程不能保留。

2、 M文件的程序执行方式将命令编成程序存储在一个文件中(M文件),依

次运行文件中的命令,可以重复进行。

3、 Matlab程序设计有传统高级语言的特征,又有自己独特的特点,可以利用

数据结构的特点,使程序结构简单,编程效率高。

3.1 M文件的分类

用Matlab语言编写的程序,称为M文件。是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。M文件根据调用方式的不同分为两类: 命令文件(Script File),函数文件(Function File),它们的扩展名都是.m

例3.1 建立文件将变量a、b的值互换。 命令文件: clear; a = 1:10;

b = [11,12,13,14;15,16,17,18]; c = a; a = b; b = c; a b

将文件保存为exch,并在命令窗口执行。 执行结果: a =

11 12 13 14 15 16 17 18 b =

1 2 3 4 5 6 7 8 9 10 函数文件 fexch.m

function [a,b] = exch(a,b) c = a; a = b; b = c;

然后在命令窗口调用该函数文件: clear; x = 1:10;

y = [11,12,13,14;15,16,17,18]; [x,y] = fexch(x,y) 输出结果为: a =

11 12 13 14 15 16 17 18 b =

1 2 3 4 5 6 7 8 9 10 函数参数a,b,c未保留在工作空间中,x,y保留在工作空间中。

3.2 程序控制结构 3.2.1 顺序结构 1、数据的输入

从键盘输入数据,则可以使用input函数来进行, 调用格式为:

A = input(提示信息,选项);

例如:从键盘输入A矩阵,可以采用下面的命令来完成 A = input(?输入A矩阵?);

如果在input函数调用时采用?s?选项,则允许用户输入一个字符串。 例:xm = input(?What??s your name??,?s?);

2、数据的输出

命令窗口输出函数主要有disp函数,其调用格式为: disp(输出项)

其中输出项既可以为字符串,也可以为矩阵。例如: A = ?Hello, Tom?; disp(A)

输出为:Hello, Tom

又如:A = [1,2,3;4,5,6;7,8,9]; disp(A) 输出为:

1 2 3 4 5 6

7 8 9 %disp函数输出格式更紧凑 2例3.2 求一元二次方程 的根。 程序如下: a = input('a=?'); b = input('b=?'); c = input('c=?'); d = b*b-4*a*c;

x = [(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];

disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); 程序输出为: a=?4 b=?78 c=?54

x1=-0.7188,x2=-18.7812 3、程序的暂停

程序执行过程中暂停,可用pause函数,其调用格式为: pause(延迟描述)

如果省略延迟时间,直接使用pause,则将暂停程序,直到用户按任一键后程序继续执行。

若要强行中止程序的运行可按Ctrl+C键。

3.2.2 选择结构

选择结构是根据给定的条件成立或不成立,分别执行不同的语句。 Matlab用于实现选择结构的语句有if语句,switch语句和try语句。 1. if语句

在Matlab中,if语句有3种格式。 (1)单分支if语句 语句格式: if 条件 语句组 end

(2)双分支if语句 语句格式: if 条件

语句组 1 else

语句组 2 end

当条件成立时,执行语句组1,否则执行语句组2,然后再执行if语句的后续语句。

例3.3 计算分段函数:

ax?bx?c?0

2? cos(x?1)?x?1,x?10? y??

??xx?x,x?10

也可以用单分支if语句来实现:

x = input('请输入x的值: '); 程序如下:

y = cos(x+1)+sqrt(x*x+1); x = input(‘请输入x的值:');

if x~=10 if x == 10

y = x*sqrt(x+sqrt(x)); y = cos(x+1)+sqrt(x*x+1);

end else

y y = x*sqrt(x+sqrt(x));

end y

(3)多分支if语句 语句格式: if 条件1 语句组 1 elseif 条件2 语句组 2 …

elseif 条件m 语句组 m else

语句组n end

例3.4 大小写字母的置换

输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 程序如下:

c = input(?请输入一个字符?,?s?); if c >=?A? & c<=?Z?

disp(setstr(abs(c) + abs(?a?)-abs(?A?))); elseif c>=?a? & c<=?z?

disp(setstr(abs(c)- abs(?a?) + abs(?A?))); elseif c>=?0? & c<=?9? disp(abs(c)-abs(?0?)); else

disp(c); end

3.2.2 选择结构 2、switch语句

switch语句根据表达式的取值不同,分别执行不同的语句,其语句格式: switch 表达式 case 表达式1 语句组1 case 表达式2 语句组2 …

case 表达式m 语句组m otherwise

语句组 n

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值