Matlab基础及其应用-MATLAB程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB基础与应用教程
MATLAB命令执行方式 Ø 交互式的命令执行方式:在命令行窗口逐条输入命令,
MATLAB逐条解释执行。 Ø 脚本方式:将有关命令编成程序存储在一个扩展名为.m的
文件中,每次运行该脚本,MATLAB就会自动依次执行脚本 中的命令。
3.1 脚本
MATLAB基础与应用教程
3.1.1 脚本的编辑
3.2.3 循环结构
在MATLAB中,for语句也可以采用以下格式:
for 循环变量 = 矩阵
循环体语句
End
【例3.8】写出下列程序的执行结果。
s=0; a=[1,2,3,4;31,41,51,61;101,102,103,104]; for k=a
s=s+k; end disp(s)
3.2 程序控制结构
'Tommy Tune'
3.2 程序控制结构
MATLAB基础与应用教程
3.2.1 顺序结构
2.disp函数 用于在命令窗口显示变量和表达式的值,其调用格式为 disp(输出项) 其中,输出项既可以为字符串,也可以为矩阵。
>> A='Hello,World!';
>> disp(A)
Hello,World!
1.MATLAB编辑器 MATLAB编辑器界面包括功能区和编辑区两个部分。
功能区
编辑区
3.1 脚本
MATLAB基础与应用教程
3.1.1 脚本的编辑
2.启动MATLAB编辑器 (1)单击 MATLAB桌面的“主页”选项卡工具条中的“新建 脚本”按钮 (2)在MATLAB命令行窗口输入命令: edit 文件名 (3)在“命令历史记录”面板选中一些命令(按住Ctrl键 可同时选择多条命令),然后从右键菜单中选择“创建脚本 ”命令
>> xm=input('What is your name?') What is your name?'Tommy Tune'↙ xm =
'Tommy Tune‘
输入一个字符串也可以使用以下调用方法:
A=input(提示信息, 's')
>> xm=input('What''s your name?','s') What's your name?Tommy Tune↙ xm =
【例3.10】输入两个整数,求它们的最小公倍数。
x=input('请输入第一个数:'); y=input('请输入第二个数:'); z1=max(x,y); z=0; while z<x*y
z=z+z1; %如果z不能被x整除,则跳过循环体中后续语句,不再判断z能否被y整除
if mod(z,x)~=0 continue
shu=[];
%建立一个空矩阵shu,用于存放结果
for n=100:999
n1=fix(n/100);
%求n的百位数字
n2=mod(fix(n/10),10);
%求n的十位数字
n3=mod(n,10);
%求n的个位数字
if n==n1*n1*n1+n2*n2*n2+n3*n3*n3
shu=[shu,n];
>> A=input('输入A矩阵:') 输入A矩阵:[1,2,3;4,5,6]↙
A=
1
2
3
4
5
6
若要输入一个字符串,输入的字符串前后加单撇号或双引号,界定字符 串的起始和结束。
3.2 程序控制结构
MATLAB基础与应用教程
3.2.1 顺序结构
1.input函数
若要输入一个字符串,输入的字符串前后加单撇号或双引号, 界定字符串的起始和结束。
MATLAB基础与应用教程
的最小的n。
3.2 程序控制结构
MATLAB基础与应用教程
3.2.3 循环结构
3.break语句和continue语句 break语句用于终止循环的执行。 continue语句控制跳过循环体中的某些语句。
3.2 程序控制结构
MATLAB基础与应用教程
3.2.3 循环结构
end
图3.5 for语句执行过程
其中,表达式1的值为循环变量的初值,表达式2的值为步长, 表达式3的值为循环变量的终值。步长为1时,表达式2可以 省略。
3.2 程序控制结构
MATLAB基础与应用教程
3.2.3 循环结构
【例3.6】一个各位数字的立方和等于该数本身的3位整数称 为水仙花数。输出全部水仙花数。
end %如果z既能被x整除,又能被y整除,跳出循环 if mod(z,y)==0
break end end disp([num2str(x),'和',num2str(y),'的最小公倍数是:',num2str(z)])
3.2 程序控制结构
MATLAB基础与应用教程
3.2.3 循环结构
4.循环的嵌套
end end disp(['方程组共有',num2str(n),'组解']); disp(a)
3.3 函数
MATLAB基础与应用教程
3.3.1 函数文件
1. 函数文件的基本结构 函数名的命名规则与变量名的命名规则相同。 有多个参数时,参数和参数之间用逗号分隔。 若输出参数多于一个,则应该用方括号括起来。
3.2 程序控制结构
3.2.2 选择结构
【例3.2】计算分段函数:
x=input('请输入x的值:'); if x<0
y=abs(x); elseif x<10
y=sin(x)./(x+1); elseif x<20
y=power(x,3); else
y=(3+2*x).*log(x); end disp(y)
>> A=[1, 2, 3; 4, 5, 6];
>> disp(A)
1
2
345源自63.2 程序控制结构
3.2.2 选择结构
1.if语句
if 条件1 语句块1
elseif 条件2 语句块2
… elseif 条件n
语句块n else
语句块n+1 end
MATLAB基础与应用教程
图3.3 if语句的执行过程
function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句
3.3 函数
3.3.1 函数文件
MATLAB基础与应用教程
function [s1,s2]=sumfraction(m,n)
【例3.11】设x,y,z均为正整数,求下列不定方程组共有 多少组解。
n = 0; a = []; %建立一个空矩阵a,用于存放方程的解 for x = 1 : 14
for y = 1 : 19-x z = 20 - x - y; if 25* x + 20 * y + 16 * z == 400 a = [a;x,y,z]; n = n + 1; end
MATLAB基础与应用教程
3.2 程序控制结构
MATLAB基础与应用教程
3.2.2 选择结构
【例3.3】输入一个字符,若为大写字母,则输出其对应的 小写字母;若为小写字母,则输出其对应的大写字母;若为 数字字符则输出其对应数的平方,若为其他字符则原样输出。
c=input('请输入一个字符:','s'); if c>='A' && c<='Z'
end
3.2 程序控制结构
MATLAB基础与应用教程
3.2.2 选择结构
3.try语句
一种试探性执行语句,为开发人员提供了一种捕获错误的机 制,其格式为:
try 语句块1
catch 变量 语句块2
end
try语句先试探性执行语句块1,如果语句块1在执行过程中出现错误,则将错 误信息赋给catch后的变量,并转去执行语句块2。catch后的变量是一个 MException类的对象,其message属性用于返回错误的说明。
MATLAB基础与应用教程
第3章 MATLAB程序设计
【本章学习目标】 掌握建立和执行脚本的方法。 掌握利用if语句、switch语句实现选择结构的方法。 掌握利用for语句、while语句实现循环结构的方法。 熟悉利用向量运算来代替循环操作的方法。 掌握定义和调用MATLAB函数的方法。
3.1 脚本
c=input('请输入一个字符:','s'); switch c
case num2cell('A':'Z') disp(lower(c));
case num2cell('a':'z') disp(upper(c));
case num2cell('0':'9') disp((c-'0')^2);
otherwise disp(c);
3.1 脚本
MATLAB基础与应用教程
3.1.2 实时脚本
3.代码的分节运行 实时脚本通常包含很多命令,有时只需要运行其中一部分, 这时可通过设置分节标志,将全部代码分成若干代码片段 (也称为代码单元)。
3.2 程序控制结构
MATLAB基础与应用教程
3.2.1 顺序结构
1.input函数 用于打开一个输入框来获取数据,该函数的调用格式为: A=input(提示信息) 其中,提示信息为一个字符串,用于提示用户输入什么样的 数据。
3.2.3 循环结构
2.while语句
While 条件 循环体语句
end
MATLAB基础与应用教程
图3.6 while语句执行过程
3.2 程序控制结构
3.2.3 循环结构
【例3.9】求使
y=0; n=0; while (y<=1.5)
n=n+1; y=y+1/n/n; end disp(['满足条件的n是:',num2str(n)])
3.1 脚本
MATLAB基础与应用教程
3.1.1 脚本的编辑
【例3.1】建立一个脚本,其功能是:用两个实变量R、M生 成复变量RM,然后运行该脚本。 建立脚本文件并以文件名setcomp.m保存在当前目录下。
clear; R=[1,2,3;4,5,6]; M=[11,12,13;14,15,16]; RM=complex(R,M);
3.2 程序控制结构
MATLAB基础与应用教程
3.2.2 选择结构
【例3.5】矩阵乘法运算要求两矩阵的维度相容,否则会出 错。编写程序,求两矩阵的乘积,若出错,则显示出错的原 因。
A=input('请输入A矩阵:'); B=input('请输入B矩阵:'); try
C=A*B; disp(C) catch err disp(err.message) end
end
MATLAB基础与应用教程
图3.4 switch语句的执行过程
3.2 程序控制结构
MATLAB基础与应用教程
3.2.2 选择结构
【例3.4】输入一个字符,若为大写字母,则输出其对应的 小写字母;若为小写字母,则输出其对应的大写字母;若为 数字字符则输出其对应数的平方,若为其他字符则原样输出。
%存入结果
end
end
disp(shu)
3.2 程序控制结构
3.2.3 循环结构
【例3.7】已知
y=0; n=100; f=1; for i=1:n
y=y+f/i; f=-f; end disp(['y=',num2str(y)])
MATLAB基础与应用教程
,求y的值。
3.2 程序控制结构
MATLAB基础与应用教程
disp(lower(c)); elseif c>='a' && c<='z'
disp(upper(c)); elseif c>='0' && c<='9'
disp(str2double(c)^2); else
disp(c); end
3.2 程序控制结构
3.2.2 选择结构
2.switch语句
switch 测试表达式 case 结果表1 语句块1 case 结果表2 语句块2 …… case 结果表n 语句块n otherwise 语句块n+1
程序执行结果如下: 请 输 入 A矩 阵 : [1,2,3;4,5,6]↙ 请 输 入 B矩 阵 : [7,8,9;10,11,12]↙
内部矩阵维度必须一致
3.2 程序控制结构
3.2.3 循环结构
1.for语句 用于处理能事先确定循环次数的情况。
MATLAB基础与应用教程
for 循环变量=表达式1:表达式2:表达式3 循环体语句
在MATLAB编辑器的“编辑器”选项卡中单击“运行”按钮, 或在MATLAB的命令行窗口中输入脚本文件名:setcomp,然 后按Enter键。
3.1 脚本
MATLAB基础与应用教程
3.1.2 实时脚本
1.实时编辑器 实时脚本在MATLAB实时编辑器中创建、编辑、调试。
功能区
编辑区
输出区
3.1 脚本
MATLAB基础与应用教程
3.1.2 实时脚本
2.启动MATLAB实时编辑器 (1)单击MATLAB桌面的“主页”选项卡工具条中的“新建 实时脚本”按钮 (2)在MATLAB命令行窗口输入命令: edit 文件名.mlx (3)在命令历史记录面板选中一些命令(按住Ctrl可同时 选多条命令),然后从右键快捷菜单中选择“创建实时脚本 ”命令
相关文档
最新文档