Matlab实验5 选择结构程序结构
matlab 程序组织结构
![matlab 程序组织结构](https://img.taocdn.com/s3/m/b268fc54571252d380eb6294dd88d0d233d43cee.png)
Matlab程序组织结构引言Matlab是一款强大的科学计算软件,广泛应用于科学、工程、经济和金融等领域。
在编写Matlab程序时,良好的程序组织结构对于代码的可读性、可维护性和可扩展性都至关重要。
本文将从程序文件的组织方式、函数的使用和模块化设计等方面,来探讨如何有效地组织Matlab程序。
程序文件组织结构良好的程序文件组织结构可以帮助提高代码的可读性和可维护性。
以下是一些常用的组织方式:单一脚本文件最简单的方式是将所有代码都写在一个脚本文件中。
这种方式适用于简单的程序,但对于复杂的程序来说,单一脚本文件会导致代码混乱不堪,不利于代码的维护和复用。
分模块脚本文件将程序按照功能或模块进行拆分,每个模块写在一个独立的脚本文件中。
这种方式使得代码的结构更加清晰,便于不同模块的代码复用。
但如果模块之间有大量的共享变量,可能会导致命名冲突和代码耦合度过高的问题。
函数文件和主脚本文件将程序的主要逻辑写在一个主脚本文件中,而将具体的功能封装在不同的函数文件中。
这种方式既保留了模块化的优点,又能够有效地管理变量作用域和代码复用。
主脚本文件通过调用函数来完成程序的主要任务。
类和方法使用面向对象的方式来组织程序。
将相关的功能封装在类中,每个类对应一个文件。
类内的方法可以完成不同的具体功能,通过实例化对象来调用相应的方法。
这种方式适合于程序的复杂度较高或者需要重复使用的部分。
函数的使用函数是Matlab程序的基本组成单元,良好地使用函数可以使程序更加模块化和易于维护。
以下是一些关于函数的使用的建议:函数命名函数的命名应该具备描述性,能够清楚地表达函数的功能。
避免使用不具备意义或是含糊不清的命名。
函数输入参数与输出结果合理地定义函数的输入参数和输出结果,可以增加函数的通用性和灵活性。
输入参数可以用来控制函数的行为,输出结果可以将函数的运算结果返回给调用者。
函数文档注释为函数编写文档注释是一种良好的编程实践。
注释可以提供函数的详细说明,包括输入参数、输出结果以及函数的功能和用法。
MATLAB程序控制结构
![MATLAB程序控制结构](https://img.taocdn.com/s3/m/91eb347ea417866fb84a8ed4.png)
例: 从键盘输入若干个数,当输入0时结束输入,求这 些数的平均值和它们之和。 程序如下: sum=0; n=0; val=input('Enter a number (end in 0):'); while (val~=0) sum=sum+val; n=n+1; val=input('Enter a number (end in 0):'); end if (n > 0) sum mean=sum/n end
2.数据的输出
MATLAB提供的命令窗口输出函数主要有 disp函数,其调用格式为 disp(输出项) 其中输出项既可以为字符串,也可以为矩阵。 exp: k=1:5; disp(k) disp(k(1:3)) disp('一维数组')
例 : 求一元二次方程ax2 +bx+c=0的根。 程序如下: 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) )]); disp('x='); disp(x);
(3) 多分支if语句: if 条件1 语句组1 elseif 条件2 语句组2 …… elseif 条件m 语句组m else 语句组n end 语句用于实现多分支选择结构。
exp: x=[9,6,3,2,5,8,7,4,1]; i=2; j=3; if i==j x(i,j)=0; elseif abs(i-j)==1 x(i,j)=-1; else x(i,j)=10; end x
5matlab的程序结构
![5matlab的程序结构](https://img.taocdn.com/s3/m/fa17c3cc08a1284ac85043ce.png)
3 4 5
4 5 6
天津农学院基础科学系 朱文新
2013-8-15
利用break跳出所在级别的循环
例: for i=1:3 a=i; break end a a= 1
2013-8-15
天津农学院基础科学系 朱文新
while — end 循环
while循环将循环体中的语句循环执行不定次数。 语法为:while 表达式 循环体语句 end 表达式一般是由逻辑运算和关系运算以及一般运算组成的, 以判断循环的进行和停止;只要表达式的值 非0,继续循环; 直到表达式值为0,循环停止。
6.按递推公式
2013-8-15
天津农学院基础科学系 朱文新
只给出难点部分的参考程序: 上节课使用第一种疗法的病人数据——矩阵p1已经求出, 求测量了6次cd4浓度的病人数据p1_6。 解决方法:建立了两个函数 1.sameid.m,格式sd=sameid(id) %id:病人id号的向量,例如id=[2 2 2 4 4 5 5 5 5 5 5 8 9 9 9 9 9 9]; %sd:相邻相同id号的数目,id如上,则sd=[3 2 6 1 6]; 2.sameid6.m,格式sd6_p=sameid6(sd) %sd:相邻相同id号的数目, %详见sameid.m,id=[2 2 2 4 4 5 5 5 5 5 5 8 9 9 9 9 9 9] %则sd=[3 2 6 1 6] %sd6_p,id号出现6次的病人在id这个向量中的位置 2013-8-15 天津农学院基础科学系 朱文新 %若id,sd如上所示,sd6_p=[6 7 8 9 10 11 13 14 15 16 17 18]
实验5
![实验5](https://img.taocdn.com/s3/m/cad5ac8eec3a87c24028c4e1.png)
实验五第3章MATLAB程序设计第二节程序控制结构程序控制结构有三种:顺序结构、旋择结构、循环结构.任何复杂的程序都可以由这三种基本结构构成.Matlab提供了实现控制结构的语句,利用这些语句可以编写解决实际问题的程序.一、顺序结构顺序结构是指按照程序中语句的排列顺序从上到下依次执行,直到程序的最后一个语句如例1的qiu文件和例2的dd1文件.这是最简单的一种程序结构.一般涉及数据的输入、计算或处理、数据的输出等内容.1. 数据的输入通过input命令来接收从终端输入的内容,它也可以显示文本和提示.命令集14 输入命令input(out ,in)在屏幕上显示出字符串out的文本并等待终端的输入.如果变量in是's',则输入的内容以字符串的形式进行保存,通常MATL AB在保存前要尽可能地求出表达式的值.如果使用格式控制符号如'\n',字符串out可以是若干行.2. 数据的输出可以通过简单地输入变量的名字来显示数字矩阵或者字符串向量的内容,结果将显示出变量的名字和内容.另一种显示变量的值就是使用命令disp.使用它只显示出变量的内容,这是有用的,特别是在字符串的应用中.命令集15显示命令disp(A)显示矩阵A的内容,如果A是字符串,则显示出它的文本.二、循环结构循环结构是按照给定的条件,重复执行指定的语句.Matlab用于实现循环结构的语句有for — end语句和while — end语句.1.for —end语句for-end语句的格式为:for 循环变量=表达式1 : 表达式2 : 表达式3循环体语句end其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值.步长为1时,表达式2可以省略.循环语句应用时应注意:● 循环语句可以嵌套使用;● 不能在 for — end 循环体内改变循环变量的值; ● 为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免 for — end 循环的使用,如例8;● 如果预先就知道循环的次数,则可以采用 for — end 循环;否则,如果预先无法确定循环的次数,则可以使用 while — end 循环.2. while — end 循环while-end 语句的一般格式为:while (条件) 循环体语句 end 其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循环.■例1 使用while-end 结构计算1+2+3+…+100 . 解:■例2 计算 Matlab 中 eps 值 (exp1.m) 解:s=0;for i=1:100 s=s+i; end ss=0; i=1;while i<=100 s=s+i; i=i+1; end snum=0; EPS=1; while (1+EPS)>1 EPS=EPS/2; num=num+1; endEPS,num三、选择结构选择结构是根据给定的条件成立或不成立,分别执行不同的语句.Matlab 用于实现选择结构的语句有条件语句:if –end 和 开关语句:switch-end .1.单分支结构 if —end 语句 2.双分支结构 if —else —end 语句 if-end 语句的格式为: if-else-end 语句的格式为:3.多分支结构 if — elseif — else — end 语句 if — elseif — else — end 语句的格式为:if 条件表达式 语句组 endif 条件表达式 语句组1 else语句组2 endif 条件表达式1 语句组1 elseif 条件表达式 2 语句组2 ... ...elseif 条件表达式 m 语句组m else 语句组end■例3求函数1;00;1;x y x x -<⎧⎪= =0⎨⎪ >⎩ ,输入x 值,输出y 值.解:■例4一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数.输出全部水仙花数.解:程序如下运行结果:153 370 371 407function y=fuhao(x) if x<0 y=-1; elseif x==0 y=0; else y=1; endA=[];for m=100:999m1=fix(m/100); %求m 的百位数字 m2=rem(fix(m/10),10); %求m 的十位数字 m3=rem(m,10); %求m 的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 A=[A,m];endend disp(A)4. switch-end 语句根据表达式的不同取值,分别执行不同的语句.其格式如下:■关于 switch-end 语句的几点注解:● Matlab 首先计算表达式的值,然后将它依次与各个case 指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出 switch-end 结构● 如果所有的比较结果都为假,则执行 otherwise 后面的语句组,然后跳出 switch-end 结构 ● otherwise 指令可以不出现● switch 后面的表达式的值可以是一个标量或字符串 ● case 指令后的检测值超过一个时,应用{}括起来switch 表达式 case 值1 语句组1 case 值2 语句组2 ... ... case 值m 语句组m otherwise 语句组n end■例5 阅读程序method=input('请输入方法名:')switch methodcase {'linear','bilinear'}disp('Method is linear')case 'cubic'disp('Method is cubic')case 'nearest'disp('Method is nearest')otherwisedisp('Unknown method.')end■例6用switch-end语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:90分以上为…A‟, 80~89分为…B‟,70~79分为…C‟,60~69分为…D‟,60分以下为…E‟.function sctole(score)grade=fix(score/10);switch gradecase {10,9}grade='A'case 8grade='B'case 7grade='C'case 6grade='D'otherwisegrade='E'end四、其他流程控制语句●break语句●continue语句●return语句●try语句●echo命令●keyboard命令●pause命令1.break和continue语句与循环结构相关的语句还有break语句和continue语句.它们一般与if语句配合使用.break语句用于终止循环的执行.当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句后的下一语句.continue语句控制跳过循环体中的某些语句.当在循环体内执行到该语句时,程序将跳过循环体中所有剩下的语句,继续下一次循环. ■例7求[100,200]之间第一个能被21整除的整数.for n=100:200if rem(n,21)~=0continueendbreakendn for n=100:200if rem(n,21)==0breakendendn2.try语句语句格式为:try语句组1catch语句组2endtry语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2.这种试探性执行语句是其他高级语言所没有的.■例8矩阵乘法运算要求两矩阵的维数相容,否则会出错.先求两矩阵的乘积,若出错,则自动转去求两矩阵的点乘.function C=rc(A,B)%A,B为矩阵tryC=A*B;catchC=A.*B;endlasterr %显示出错原因3.请求键盘输入命令keyboard暂停运行程序并处于等待键盘输入状态(便于调试及程序运行中修改变量),键入“return”程序继续运行.如运行如下:4. echo 命令(在命令窗口,程序调用前使用)一般情况下,M 文件执行时,文件中的命令不会显示在命令窗口.echo 命令可使文件命令在执行时可见.这对程序的调试及演示很有用.对命令文件和函数文件,echo 的作用稍微有些不同.●对命令文件,其格式如下:echo on 打开命令文件的回应命令 echo off 关闭回应命令●对函数文件,其格式如下:echo file on 使指定的file 文件的命令在执行中被显示出来 echo file off 关闭指定文件的命令在执行中的回应function y=f(x) keyboardy=(5*x-6)/((x-3)*(x-3)+2);>> f K>> x=4; K>> return ans = 4.6667>> y=f(4) K>> return y = 4.6667。
Matlab实验五分支结构程序设计答案
![Matlab实验五分支结构程序设计答案](https://img.taocdn.com/s3/m/fcb7bae2e45c3b3566ec8b85.png)
实验五分支结构程序设计实验内容(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear>> format long gs=input('s=')n=fix(log10(s));A=0;for i=1:na=fix(s/10^n);x=fix(mod(s,10^i)/10.^(i-1));A=A+x*10^(n+1-i);endA+as=693s =693ans =396(2)输入一个百分制成绩,要求输出成绩等级A,B,C,D,E其中90-100位A,80-89为B,70-79为C,60-69为D,60以下为E1)分别用if语句和switch语句实现2)输入百分制成绩后要判断成绩的合理性,对不合理的成绩应输出出错信息If语句>> a=input('输入成绩')if a>=90&a<=100 disp('A 成绩合理');elseif a>=80&a<90 disp('B 成绩合理');elseif a>=70&a<80 disp('C 成绩合理');elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');else disp('成绩错误')end输入成绩98a =98A 成绩合理>> a=input('输入成绩')if a>=90&a<=100 disp('A 成绩合理');elseif a>=80&a<90 disp('B 成绩合理');elseif a>=70&a<80 disp('C 成绩合理');elseif a>=60&a<70 disp('D 成绩合理'); elseif a<60 disp('E 成绩合理');else disp('成绩错误')end输入成绩148a =148成绩错误switch语句>> a=input('输入成绩')switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwisedisp('成绩错误');end输入成绩98a =98A 成绩合理>> a=input('输入成绩')switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwisedisp('成绩错误');end输入成绩148a =148成绩错误小结实验心得体会通过本次实验,我逐渐掌握了点if语句和switch语句的使用,了解了分支结构程序设计方法。
MATLAB程序结构——选择结构.
![MATLAB程序结构——选择结构.](https://img.taocdn.com/s3/m/0da85bf15ef7ba0d4a733b5c.png)
通信技术专业教学资源库 深圳职业技术学院
语句组1
elseif 可以出现多个,但 else 只能有一个!
)
表达式1 假 表达式2 假 表达式m 真 语句组2 语句组m 语句组m+1 假
( 语句组2)
表达式2
真
(语句组m+1)
end
x3 x 0 例:从键盘输入自变量x的值,由分段函数给出y 的值。程序: y 2 5 x x0
MATLAB运行: >> ex1 请输入成绩等级:'A' X= A 该生成绩为95分 >> ex1 请输入成绩等级:'R' X= R 输入等级有误
disp(‘该生成绩为75分’);
case ‘D’ disp(‘该生成绩为65分’); case ‘E’
disp(‘该生成绩为不及格’);
otherwise disp(‘输入等级有误’); end
表达式 语句组 表达式
假
)
真 语句组
)
if语句 双分支
if ( else
表达式
)
真 语句组1
(语句组1)
表达式
假 语句组2
( 语句组2 )
end
if ( 表达式1) if语句 多分支: ( ) 语句组1
elseif ( ... ... elseif( 表达式m ) ( 语句组m ) else
MATLAB中程序结构流程的控制
![MATLAB中程序结构流程的控制](https://img.taocdn.com/s3/m/c704191f590216fc700abb68a98271fe910eaffa.png)
MATLAB中程序结构流程的控制MATLAB中程序结构流程的控制一. 顺序结构二.循环结构1. for -end :特点是循环判断条件通常是对循环次数的判断,即循环次数是预先设定的。
调用格式为:for 变量=表达式执行语句……执行语句end表达式是一个向量,可表示为m:s:n2. while-end:判断控制一般是逻辑判断语句,使用范围更大。
调用格式为:while 表达式执行语句……执行语句end表达式一般是关系运算式或逻辑运算式组成的逻辑判断语句,以确定循环是否继续。
通常表达式的值非零,即为逻辑真,程序继续循环,否则停止循环。
三. 选择结构if-else-end 又称为条件语句,根据表达式的情况判断是否满足条件来确定程序下一步的运行。
大致可分为三步进行:首先计算紧跟if后面表达式。
接着判断表达式计算结果,若结果为0,判断值为假;若结果为1,判断值为真。
然后若判断值为真,则执行其后的执行语句组;否则跳过,执行下一个条件表达式或者结束该选择语句。
调用格式为:1. if 表达式执行语句组end2. if 表达式执行语句组1else执行语句组2end3. if 表达式1执行语句组1elseif 表达式2执行语句组2elseif 表达式3执行语句组3……else执行语句组nend关键字if 或elseif后面的条件表达式为条件,通常是由关系运算或与逻辑运算式组成的逻辑判断语句,如果if 或elseif后面的表达式的值为真时,执行紧跟其后的语句内容,否则跳过去,并根据选择语句的表达形式执行后面的elseif表达式语句、跟在else后的执行语句或end语句。
四. 分支语句switch-case-end 又称为开关语句,使程序在不同的情况下进行相应的操作。
调用格式为:switch 表达式case 常量表达式1执行语句组1case 常量表达式2执行语句组2……case 常量表达式n执行语句组notherwise执行语句组n+1end在switch后面的表达式为开关条件,它可以是数字或字符串。
MATLAB程序结构——选择结构.
![MATLAB程序结构——选择结构.](https://img.taocdn.com/s3/m/0da85bf15ef7ba0d4a733b5c.png)
根据表达式的取值不同,分别执行不同的语句。
表达式?
case
取值 1
语句组1
取值 2
取值 3 语句组3
取值 4
otherwise 语句组M
语句组2
语句组4
多分支结构 (swtich)
当任意一个分支的语句执行完后,直接执行 switch 语句后面的语句。 switch 子句后面的表达式可以是一个标量或字符串;case 子句后面的表 达式可以是标量或字符串。 If语句后面是一个比较值或者确定值,switch语句后面是一个确定值。
%从键盘输入自变量x的值,由分段函数给出y 的值。 clear; x=input (‘x=‘) %屏幕提示x= ,由键盘输入值赋给x if x<0 y=x^3; else y=5*x^2; end y
clear;
x0 0, 1, 0 x 1 例 f (x) 2 x , 1 x 2 2 x 5 , 2 x 求:f (1.5)
表达式 语句组 表达式
假
)
真 语句组
)
if语句 双分支
if ( else
表达式
)
真 语句组1
(语句组1)
表达式
假 语句组2
( 语句组2 )
end
if ( 表达式1) if语句 多分支: ( ) 语句组1
elseif ( ... ... elseif( 表达式m ) ( 语句组m ) else
例:实现成绩的五级制向百分制的转换,成绩为A转换为95,B为85,C为75,D为65,E为不及 格。要能判断输入有误
x=input(‘请输入成绩等级:’,’s’) switch x case ‘A’
915230-MATLAB第三版实验答案
![915230-MATLAB第三版实验答案](https://img.taocdn.com/s3/m/3db20a0ae009581b6ad9ebd3.png)
for i=2:49 b=i*(i+l)-l; m=fix(sqrt(b)); for j=2:m
if rem(b,j)==0 break
end
end
if j==m
n=n+l;
s=s+b;
end
end
实验6函数文件
%第1题
function y=matl (x)$建立函数文件matl・m
实验7绘图操作
%第1题
% (1)
x=linspace(0,2*pif101);
y=(0.5 + 3*sin (x)・/(1+x.A2))・*cos(x); plot(x,y)
%(2)
x=-5:0・01:5;
y=[];%起始设y为空向疑
for x0=x
if x0<=0$不能写成x0=<0
y=[y,(xO+sqrt(pi))/exp(2)]; else
for i=10:99
j = 10*rem(iz10)+fix (i/10);
if mat3(i)&mat3(j)
disp (i)
end
end
%第4题
function y=fx(x)
y=l・/ ( (x-2)・A2+0・l)+1./((x-3)・A4+0・01);
$在命令窗口调用该函数文件:
y=fx(2)
if t==f+!
z=x+y;
elseif t==,-1
z=x-y;
elseif t==1*'
z=x*y;
elseif t==、['
z=x/y;
(完整版)Matlab实验5选择结构程序结构
![(完整版)Matlab实验5选择结构程序结构](https://img.taocdn.com/s3/m/14484032daef5ef7bb0d3c59.png)
实验五、选择与循环结构一、实验目的:1、 掌握建立和执行M 文件的方法。
2、 掌握利用if 语句实现选择结构的方法。
3、 掌握利用switch 语句实现多分支选择结构的方法。
4、 掌握try 语句的使用。
5、 掌握利用for 语句实现循环结构的方法。
6、 掌握利用while 语句实现循环结构的方法。
7、 熟悉利用向量运算来代替循环的操作方法。
二、实验内容:1、 列分段函数的值。
⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+=其他且且,632,100,6530,6222x x x x x x x x x x x y要求:(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
提示:x 的值从键盘输入,可以是向量。
%homework_5_1_1.mx=input('请输入x 的值:x=');if (x<0 & x~=-3)y= x.*x + x - 6elseif (x>=0 & x<10 & x~=2 & x~=3)y=x.*x-5.*x+6elsey=x.*x-x-6end>> homework_5_1请输入x 的值:x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]y =-5.2500 6.0000 -6.0000 -4.0000 -2.2500 0 14.0000(2) 用逻辑表达式实现上述函数。
%homework_5_1_2.mx=input('请输入x 的值:x=')y=(x<0 & x~=-3).*(x.*x+x-6)...+(x>=0 & x<10 &x~=2 &x~=3).*(x.*x-5.*x+6)...+(x>=10 | x==-3 | x==3 | x==2).*(x.*x-x-6)>> homework_5_1_2请输入x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]x =-0.5000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 y =-6.2500 6.0000 2.0000 -4.0000 -0.2500 0 6.00002、输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。
matlab选择与循环程序结构设计
![matlab选择与循环程序结构设计](https://img.taocdn.com/s3/m/e2c982ac162ded630b1c59eef8c75fbfc77d9404.png)
matlab选择与循环程序结构设计在MATLAB 中,程序结构主要分为顺序结构、选择结构和循环结构三种。
下面分别介绍这三种程序结构的语法规则和示例:1. 顺序结构顺序结构是最简单的程序结构,其基本语法规则如下:```statement1statement2...statementN```其中,N 表示语句的数量。
在MATLAB 中,可以使用花括号`{}` 将语句括起来,形成一个代码块。
例如,下面的代码定义了一个向量,并对其进行了求和操作:```A = [1 2 3 4 5];sum = 0;for i = 1:size(A, 1)sum = sum + A(i);enddisp(['The sum of the elements in A is: ', num2str(sum)]);```在这个例子中,首先定义了一个向量A,然后使用`for` 循环语句遍历向量中的每个元素,将其加到变量`sum` 中,最后使用`disp` 函数输出求和的结果。
2. 选择结构选择结构是一种基于条件判断的程序结构,其基本语法规则如下:```if conditionstatement1elseif condition2statement2elsestatement3```其中,`condition` 表示条件判断,如果其结果为真,则执行`statement1`,如果其结果为假,则依次判断`condition2` 是否为真,如果是,则执行`statement2`,否则执行`statement3`。
例如,下面的代码判断用户输入的数字是否为偶数,如果是,则输出"even",否则输出"odd":```num = input('Please enter a number: ');if num % 2 == 0disp('It is even!');elsedisp('It is odd!');end```3. 循环结构循环结构是一种重复执行某段代码的程序结构,其基本语法规则如下:while conditionstatement1end```或者```for variable in expressionstatement1end```其中,`condition` 表示循环条件,如果其结果为真,则执行`statement1`,直到其结果为假时停止循环。
《MATLAB程序设计》实验指导书
![《MATLAB程序设计》实验指导书](https://img.taocdn.com/s3/m/71b111d26137ee06eff918d7.png)
三、
实验仪器和设备
1、 计算机一台。 2、 MATLAB7.0 以上集成环境。
四、
预习要求
2
《MATLAB 程序设计》实验指导书
1、 复习 MATLAB 的启动与Байду номын сангаас出,熟悉 MATLAB 运行环境。 2、 复习 MATLAB 中矩阵的生成以及矩阵运算的基本原理。
五、
实验内容及步骤
实验内容:
1、 求下列表达式的值 1) z1
5
《MATLAB 程序设计》实验指导书
2) 函数调用 函数文件编制好后,就可调用函数进行计算了。函数调用的一般格式为 [输出实参表]=函数名(输入实参表) 注意:函数调用时各实参出现的顺序、个数,应与函数定义时形参的顺序、个 数一致,否则会出错。函数调用时,实参先传递给形参,然后再执行函数功能。 5、 选择结构 1) if 语句 a) 单分支 if 语句 if 条件 语句块 end b) 双分支 if 语句 if 条件 语句块 1 else 语句块 2 end c) 多分支 if 语句 if 条件 1 语句块 1 elseif 条件 2 语句块 2 …… elseif 条件 n 语句块 n else 语句块 n+1 end 2) switch 语句 switch 表达式 case 结果表 1 语句块 1 case 结果表 2 语句块 2 ……
二、
实验原理
1、 M 文件 用 MATLAB 语言编写的程序,称为 M 文件,它们的扩展名均为.m。M 文件根据 调用方式的不同分为两类,命令文件(Script file)和函数文件(Function file) 。 2、 建立新的 M 文件 启动 MATLAB 文本编辑器有 3 种方法: 1) 单击工具栏上的“New M-File”命令按钮。 2) 从 MATLAB 主窗口的“File”菜单中选择“New”菜单项,再选择“M-file”命令。 3) 在 MATLAB 命令窗口输入命令“edit”。 3、 打开已有的 M 文件 1) 在当前目录窗口选中要打开的 M 文件,双击鼠标左键。 2) 单击 MATLAB 主窗口工具栏上的“Open File”命令按钮,再从弹出的对话框中 选择所需打开的 M 文件。 3) 从 MATLAB 主窗口的“File”菜单中选择“Open”命令,在“Open”对话框中选中 所需打开的文件。 4) 在 MATLAB 命令窗口输入命令“edit 文件名” 。 4、 函数文件 1) 函数文件的基本结构 函数文件由 function 语句引导,其基本结构为: function 输出形参表=函数名(输入形参表) 注释说明部分 函数体语句 注意:函数名的命名规则与变量名相同。当输出形参多于一个时,应用方括号 括起来。
MATLAB全部实验及答案
![MATLAB全部实验及答案](https://img.taocdn.com/s3/m/9d22ac92fc0a79563c1ec5da50e2524de418d05b.png)
MATLAB全部实验及答案MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤4、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B 与A.*B?A*B就是线代里面的矩阵相乘A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。
clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9)写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B5、已知+?=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
实验五 matlab基础知识(简单)
![实验五 matlab基础知识(简单)](https://img.taocdn.com/s3/m/9d9e4404844769eae009ed53.png)
本次实验注意:《实验五MALTAB基础知识(简单)》《实验五基于Matlab的信号频谱分析(复杂)》选作一个即可实验五MALTAB基础知识(一)实验目的 (2)(二)实验设备 (2)(三)实验要求 (2)(四)实验内容 (2)1.1 MATLAB基础知识 (2)1.1.1 MATLAB程序设计语言简介 (2)1.1.2 MA TLAB界面及帮助 (2)1.2 MA TLAB基本运算 (4)1.2.1 MA TLAB内部特殊变量和常数 (4)1.2.2 变量类型 (4)1.2.3 内存变量管理 (5)1.2.4 MA TLAB常用数学函数 (5)1.2.5 MA TLAB矩阵生成 (5)1.2.6 MA TLAB矩阵运算 (8)1.2.7 MA TLAB中的矩阵分析 (10)1.3 MA TLAB程序设计 (10)1.3.1 M文件 (10)1.3.2 程序控制结构 (12)实验五MALTAB基础知识(一)实验目的●了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力(二)实验设备计算机,Matlab软件(三)实验要求本实验属于验证实验,请根据(四)实验内容的步骤,运行相应的指令或例子,并将仿真结果截图至文档(请自己新建一个word文档,注意,并不一定所有指令或例子的实验结果都要截图,截图数目大于等于5个即可,自己选择性截图,答案不唯一,自由发挥)请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验五_学号_姓名”,并通过FTP上传至指定文件夹。
(四)实验内容1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MA TLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。
matlab中的选择语句
![matlab中的选择语句](https://img.taocdn.com/s3/m/eb1c366ebc64783e0912a21614791711cd797954.png)
matlab中的选择语句在MATLAB中,选择语句主要有if语句和switch语句两种。
首先是if语句,它的基本语法结构如下:if condition.% 如果条件成立,执行这里的代码。
else.% 如果条件不成立,执行这里的代码。
end.在这个语法结构中,condition是一个逻辑表达式,如果它的值为true,那么就会执行if语句块中的代码;如果它的值为false,就会执行else语句块中的代码。
在MATLAB中,if语句也支持嵌套,可以使用多个if...else if...else语句来实现多个条件的判断。
另一种选择语句是switch语句,其基本语法结构如下:switch expression.case case_expression_1。
% 如果expression等于case_expression_1,执行这里的代码。
case case_expression_2。
% 如果expression等于case_expression_2,执行这里的代码。
otherwise.% 如果expression不等于任何一个case_expression,执行这里的代码。
end.在这个语法结构中,expression是一个表达式,它的值会与每个case_expression进行比较,如果有匹配的情况,就会执行相应的代码块。
如果没有匹配的情况,就会执行otherwise语句块中的代码。
需要注意的是,在每个case语句块中,通常会包含break语句来跳出switch语句。
除了基本的if和switch语句外,MATLAB还提供了一些特殊的选择语句,比如三元运算符(conditional operator)和if...elseif...else语句,它们可以帮助我们更灵活地进行条件判断和代码执行。
总的来说,选择语句在MATLAB中是非常重要的,可以根据不同的条件执行不同的代码,帮助我们实现更加灵活和复杂的程序逻辑。
《MATALB与工程计算》课程教学大纲
![《MATALB与工程计算》课程教学大纲](https://img.taocdn.com/s3/m/1af588e24bfe04a1b0717fd5360cba1aa8118c99.png)
《MATLAB与工程计算》课程教学大纲课程英文名称:Matlab and Engineering Calculation课程编号:021030050总学时及其分配:说明总学时及授课、实验、线上学时或实践周数等总学时:32,其中授课学时:16,实验学时:16,线上学时:0实践周数:无学分数:2适用专业:交通工程专业任课学院、系部:能源科学与工程学院交通工程(系)教研室一、课程简介需说明课程的性质、类别及其在专业人才培养中的地位和作用。
课程的性质:选修课程的类别:专业课程课程在专业人才培养中的地位和作用:本课程为交通工程专业学生开设的选修专业课程,其任务是使学生熟练掌握MATLAB软件的使用,能够进行工程数值计算。
本课程内容可提高学生分析问题和解决问题的综合能力,MATLAB分析可应用于道路施工设计和交通运输优化等工程实践方面。
二、课程教学的目标本课程通过课堂讲授、上机实验、课下复习等教学环节,实现下列教学目标:1.使学生掌握MATLAB软件的使用方法,能够进行数值运算、图像处理、数据结果可视化。
2.培养学生的逻辑和判断能力,掌握MATLAB程序设计结构,提出算法进行程序语言设计。
3.培养学生理论联系实际、运用所学知识解决实际工程问题的能力。
4.培养学生严谨、求实和团队合作方面的素质。
三、课程教学的基本内容及教学安排第一章MATLAB系统环境(授课1学时)第一节MATLAB概貌第二节MATLAB系统环境的准备第三节MATLAB操作界面第四节MATLAB基本操作第二章MATLAB数据及其运算(授课4学时)第一节MATLAB数值数据第二节MATLAB矩阵的表示第三节变量及其操作第四节MATLAB常用内部函数第五节MATLAB运算第六节字符串第七节结构数据和单元数据第三章MATLAB矩阵处理(授课3学时)第一节特殊矩阵第二节矩阵变换第三节矩阵求值第四节矩阵的特征值与特征向量第五节稀疏矩阵第四章MATLAB程序流程控制(授课4学时)第一节M文件第二节程序控制结构第三节函数文件第四节特殊形式的函数第五节程序调试与优化第五章MATLAB绘图(授课2学时)第一节二维图形第二节其他形式的二维图形第三节三维图形第四节隐函数绘图第五节图形修饰处理第六节图像处理与动画制作第七节交互式绘图工具第六章MATLAB数据分析与多项式计算(授课2学时)第一节数据统计分析第二节多项式计算实验内容及安排实验一MA TLAB系统环境与运算基础(实验2学时)实验二MA TLAB矩阵处理(上)(实验2学时)实验三MA TLAB矩阵处理(下)(实验2学时)实验四顺序结构程序设计(实验2学时)实验五选择结构程序设计(实验2学时)实验六循环结构程序设计(实验2学时)实验七绘图操作(实验2学时)实验八数据分析与多项式计算(实验2学时)四、本课程与其他课程的联系(先修后续关系)先修课程为《高等数学》、《线性代数》等课程。
matlab选择与循环结构程序
![matlab选择与循环结构程序](https://img.taocdn.com/s3/m/be7f1ceab8f3f90f76c66137ee06eff9aef849ef.png)
matlab选择与循环结构程序在编程领域中,选择与循环结构是非常基础和重要的概念。
在MATLAB中,选择结构主要是通过if语句来实现的,而循环结构则有for循环和while循环两种。
本文将介绍MATLAB中选择与循环结构的使用方法和一些常见的应用场景。
我们来看选择结构。
在MATLAB中,if语句的语法形式如下:if 条件执行语句;elseif 条件执行语句;else执行语句;end其中,条件可以是一个表达式或者一个逻辑判断,根据条件的真假来选择执行相应的语句块。
如果条件为真,则执行if语句块中的语句;如果条件为假,则继续判断下一个elseif语句的条件,并执行相应的语句块;如果所有条件都不满足,则执行else语句块中的语句。
选择结构的应用非常广泛。
例如,我们可以利用选择结构来判断一个数的正负性。
代码如下:num = input("请输入一个数:");if num > 0disp("该数为正数");elseif num < 0disp("该数为负数");elsedisp("该数为零");end在上述代码中,我们通过if语句来判断num的正负性,并根据不同的情况输出相应的结果。
除了选择结构,循环结构也是编程中常用的一种结构。
在MATLAB 中,for循环和while循环可以实现不同的循环逻辑。
for循环的语法形式如下:for 变量 = 起始值:步长:结束值执行语句;end其中,变量是循环变量,起始值是循环变量的初始值,步长是循环变量每次递增或递减的值,结束值是循环变量的结束条件。
下面是一个简单的例子,利用for循环计算1到10的和:sum = 0;for i = 1:10sum = sum + i;enddisp("1到10的和为:" + sum);在上述代码中,我们使用for循环来计算1到10的和,并将结果输出。
matlab的程序结构
![matlab的程序结构](https://img.taocdn.com/s3/m/605e73d6b9f67c1cfad6195f312b3169a451eaa5.png)
matlab的程序结构Matlab的程序结构Matlab是一种高级的计算机编程语言和环境,广泛应用于科学计算、数据分析、图形绘制等领域。
Matlab的程序结构是指程序的组织形式和编写规范,合理的程序结构能够提高代码的可读性和可维护性,使程序更加清晰和易于理解。
1. 程序文件的命名和保存在Matlab中,程序文件通常以.m为后缀名。
为了方便管理,建议给程序文件取一个有意义的名字,能够反映出程序的功能或用途。
同时,在编写程序的过程中,要定期保存程序文件,以防止意外情况导致代码的丢失。
2. 程序文件的开头在程序文件的开头,通常会包含一些说明性的注释,用来介绍程序的功能、作者、更新日期等信息。
注释可以使用%符号来表示,以便于他人阅读和理解代码。
此外,还可以通过添加函数的帮助文档来提供更详细的说明。
3. 程序文件的主体部分程序文件的主体部分是实现具体功能的代码段落。
在编写代码时,可以根据程序的逻辑结构,将代码分为多个小的模块或函数,以增加程序的可读性和可维护性。
同时,要注意在适当的位置添加注释,解释代码的作用和用途,方便他人理解代码。
4. 程序文件的结尾在程序文件的结尾,可以进行一些清理工作,例如关闭已打开的文件、释放占用的内存等。
此外,还可以输出一些结果或提示信息,以便用户了解程序的执行情况。
5. 变量和函数的命名变量和函数的命名是程序结构中的重要部分。
在Matlab中,变量和函数的命名应具有描述性,能够反映其所代表的含义。
命名应遵循一定的规范,例如使用驼峰命名法或下划线命名法,以提高代码的可读性。
6. 控制流程的设计控制流程的设计是程序结构中的关键部分。
Matlab提供了一系列的控制语句,例如if语句、for循环、while循环等,用于根据不同的条件执行不同的操作。
在编写程序时,要合理地使用这些控制语句,以实现程序的预期功能。
7. 错误处理和异常处理错误处理和异常处理是程序结构中的重要组成部分。
在程序中,可能会出现各种各样的错误和异常情况,例如输入错误、计算错误等。
实验五MATLAB程序设计与调试
![实验五MATLAB程序设计与调试](https://img.taocdn.com/s3/m/2792f916bdd126fff705cc1755270722192e5900.png)
实验五MATLAB程序设计与调试实验五MATLAB程序设计与调试一、实验目的1、掌握MATLAB语言的程序结构2、培养调试程序的能力二、实验地点:A404三、实验日期:四、实验内容(一)M文件的操作1.M文件的建立与编辑1)建立新的M文件:从MATLAB命令窗口的File菜单中选择New菜单项,再选择M-file命令。
2)编辑已有的M文件:从MATLAB命令窗口的Flie菜单中选择Open M-file命令。
3)M文件的执行将需要运行的命令编辑到一个M文件中,然后在MATLAB命令窗口输入该M 文件的名字,机器就会按规则执行M文件中的所有命令。
例:将下列语句建立为一个M文件,并运行。
a=1:9;b=[11,12,13;14,15,16;17,18,19];c=a;a=b;b=c;ab(二)程序的结构与程序的设计1、选择结构选择结构的语句有if语句和switch语句。
例1:输入三角形的三条边,求面积。
A=input('请输入三角形的三条边:');if A(1)+A(2)>A(3) & A(1)+A(3)>A(2) & A(2)+A(3)>A(1)p=(A(1)+A(2)+A(3))/2;s=sqrt(p*(p-A(1))*(p-A(2))*(p-A(3)));disp(s);elsedisp('不能构成一个三角形。
')end运行:请输入三角形的三条边:[4 5 6]9.9216例2:高考录取模拟c=input('请输入您的分数:');if c>=550disp('请准备上一本');elseif c>500 & c<=550disp('可以上二本了');elseif c<500 & c>=400;disp ('三本等你来!')elsedisp('不能录取');end例3:模拟猜奖游戏。
第三章Matlab的选择结构
![第三章Matlab的选择结构](https://img.taocdn.com/s3/m/80a1c88850e79b89680203d8ce2f0066f53364b9.png)
第三章Matlab的选择结构第三章 Matlab的选择结构3.1 程序编写的⼀般步骤3.2 关系运算符 1) 0表⽰假,⾮0表⽰真; 2) ~=:不等于; 3) sin(pi) ~= 0:为1,⽐较a、b两个数是否相等⽅法:abs(a - b)<1.0e-143.3 逻辑运算 1) 先与&后或|3.4 逻辑函数与短路运算 1) 短路运算:&&、||;⾮短路运算:&、| 2) ischar(x)、isempty(x)、isinf(x)、isnan(x):是否不是数、isnumeric(x):是否是数 3) 1/0 = Inf 是数;0/0 = NaN 不是数3.5 if语句1) 语句结构:”if"开始,"end"结束if exp_1 block_1elseif exp_2 block_2... ...else block_nend3.6 流程图的绘制3.7 if语句的嵌套3.8 switch1)switch(value) case{1,3,5,7,9}, block_1; case{2,4,6,8}, block_2; ... ... otherwise, block_nend3.9 try_catch结构try block_1catch block_2end3.10 多个图像窗⼝与⼦窗⼝ 1) figure(n):图像窗⼝命令; 2) subplot(m,n,p):图像窗⼝中有m*n个⼦窗⼝,p是当前操作窗⼝;3.11 图像的增强控制 1) plot(x1,y1,LineSpec,...,xn,yn,LineSpec) 2) plot(x1,y1,LineSpec,'PropertyName',PropertyValue) 3) LineWidth:⽤来指定线的宽度 4) MarkerEdgeColor:⽤来指定标识表⾯的颜⾊ 5) MarkerFaceColor:填充标识的颜⾊ 6) MarkerSize:指定标识的⼤⼩例:x = -pi:pi/10:pi;y = tan(sin(x)) - sin(tan(x));plot(x,y,'--rs','LineWidth',3,...‘MarkerEdgeColor','k',...‘MarkerFaceColor','g',...‘MarkerSize',10)3.12 ⽂本的⾼级控制...。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五、选择与循环结构一、实验目的:1、 掌握建立和执行M 文件的方法。
2、 掌握利用if 语句实现选择结构的方法。
3、 掌握利用switch 语句实现多分支选择结构的方法。
4、 掌握try 语句的使用。
5、 掌握利用for 语句实现循环结构的方法。
6、 掌握利用while 语句实现循环结构的方法。
7、 熟悉利用向量运算来代替循环的操作方法。
二、实验内容:1、 列分段函数的值。
⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+=其他且且,632,100,6530,6222x x x x x x x x x x x y要求:(1) 用if 语句实现,分别输出x =-0.5,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
提示:x 的值从键盘输入,可以是向量。
%homework_5_1_1.mx=input('请输入x 的值:x=');if (x<0 & x~=-3)y= x.*x + x - 6elseif (x>=0 & x<10 & x~=2 & x~=3)y=x.*x-5.*x+6elsey=x.*x-x-6end>> homework_5_1请输入x 的值:x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]y =-5.2500 6.0000 -6.0000 -4.0000 -2.2500 0 14.0000(2) 用逻辑表达式实现上述函数。
%homework_5_1_2.mx=input('请输入x 的值:x=')y=(x<0 & x~=-3).*(x.*x+x-6)...+(x>=0 & x<10 &x~=2 &x~=3).*(x.*x-5.*x+6)...+(x>=10 | x==-3 | x==3 | x==2).*(x.*x-x-6)>> homework_5_1_2请输入x=[-0.5 -3.0 1.0 2.0 2.5 3.0 5.0]x =-0.5000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 y =-6.2500 6.0000 2.0000 -4.0000 -0.2500 0 6.00002、输入一个百分制成绩,要求输出成绩的等级为A,B,C,D,E。
其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和switch语句实现。
%homework_5_2_1.mclear;disp(' if_else语句!')x=input('请输入分数:');if (x<=100 & x>=90)disp('A')elseif (x>=80 & x<=89)disp('B')elseif (x>=70 & x<=79)disp('C')elseif (x>=60 & x<=69)disp('D')elseif (x<60)disp('E')end>> homework_5_2_1if_else语句!请输入分数:99A>> homework_5_2_1if_else语句!请输入分数:50E%homework_5_2_1_switch.mclear;disp(' switch语句!')c=input('请输入成绩:');switch ccase num2cell(90:100),disp('A');case num2cell(80:89),disp('B');case num2cell(70:79),disp('C');case num2cell(60:69),disp('D');otherwisedisp('E');end>> homework_5_2_1_switch请输入成绩:95A(2)输入百分制成绩后要判定该成绩的合理性,对不合理的成绩要输出出错信息。
%homework_5_2_1.mclear;disp(' if_else语句!')x=input('请输入分数:');if (x<=100 & x>=90)disp('A')elseif (x>=80 & x<=89)disp('B')elseif (x>=70 & x<=79)disp('C')elseif (x>=60 & x<=69)disp('D')elseif (x<60)disp('E')elseif (x<0 | x>100)disp('ERROR')end>> homework_5_2_1if_else语句!请输入分数:120ERROR%homework_5_2_1_switch.mclear;disp(' switch语句!')c=input('请输入成绩:');switch ccase num2cell(90:100),disp('A');case num2cell(80:89),disp('B');case num2cell(70:79),disp('C');case num2cell(60:69),disp('D');case num2cell(0:59),disp('E');otherwisedisp('输入错误!');end>> homework_5_2_1_switch请输入成绩:120输入错误!3、 建立 5×6矩阵,要求输出矩阵的第n 行元素,当n 值超过矩阵的行数时,自动转为输出矩阵最后一行元素、并给出出错信息。
%homework_5_3.mclear;clc;A=eye(6);A(6,:)=[];An=input('输出矩阵的第n 行元素,n=');tryA(n,:)catchdisp('矩阵只有5行元素!');end>> homework_5_3A =1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 1 0 00 0 0 0 1 0输出矩阵的第n 行元素,n=4ans =0 0 0 1 0 0>> homework_5_3A =1 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 1 0 00 0 0 0 1 0输出矩阵的第n 行元素,n=7矩阵只有5行元素!4、 根据2222212121116n++++= π求π的近似值。
当n 分别取100、1000、10000结果是多少?要求:分别用循环结构和向量运算(使用sum 函数)来实现。
%homework_5_4.mclear;disp('循环结构');n=input('输入循环次数 n= ');y=0;for i=1:ny=y+1./(i.*i);enddisp(['圆周率=',num2str(sqrt(6.*y))]);>> homework_5_4循环结构输入循环次数 n= 100圆周率=3.1321>> homework_5_4循环结构输入循环次数 n= 1000圆周率=3.1406>> homework_5_4循环结构输入循环次数 n= 10000圆周率=3.1415%homework_5_4_sum.mclear;disp('向量运算(使用sum 函数)');n=input('循环次数 n= ');i=1:n;y=1./(i.*i);disp(['圆周率=',num2str(sqrt(6*sum(y)))]);>> homework_5_4_sum向量运算(使用sum 函数)循环次数 n= 100圆周率=3.1321>> homework_5_4_sum向量运算(使用sum 函数)循环次数 n= 1000圆周率=3.1406>> homework_5_4_sum向量运算(使用sum 函数)循环次数 n= 10000圆周率=3.14155、 根据12151311-++++=n y ,求: (1)3<y 的最大n 值。
(2)与(1)的n 对应的y 。
%homework_5_5.mclear;y=0;for i=1:10000y=y+1./(2.*i-1);if(y>=3)break;endendy=y-1./(2.*i-1)i=i-1>> homework_5_5y =2.9944i =566、一个三位整数各位数字的立方和等于该数的本身则称该数为水仙花数。
试输出全部水仙花数。
要求:(1)用循环结构实现。
%homework_5_6_1.m%fix(x)向零取整clearfor M=100:999M3=fix(M./100); %fix(x)向零取整M2=fix((M-M3.*100)./10);M1=M-100.*M3-10.*M2;if(M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3==M)disp(M);endend>> homework_5_6_1153370371407(2)用向量运算来实现。
提示:全部三位整数组成向量M;分别求M各个元素的个位、十位、百位数字,组成向量M1、M2、M3;向量N=M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3;向量K=M-N;显然K中的零元素的序号即M中的水仙花的序号。
%homework_5_6_2.mclearM=100:999;M3=fix(M./100); %fix(x)向零取整M2=fix((M-M3.*100)./10);M1=M-100.*M3-10.*M2;N=M1.*M1.*M1+M2.*M2.*M2+M3.*M3.*M3;K=M-N;M(find(K==0))>> homework_5_6_2ans =153 370 371 4077、 已知 ⎪⎪⎩⎪⎪⎨⎧>+-====---3,2101321321n f f f f f f f n n n n求1001f f -中:(1)最大值、最小值、各数之和。