MATLAB实验三-选择结构程序设计方案

合集下载

MATLAB程序设计与应用(刘卫国编)课后实验答案

MATLAB程序设计与应用(刘卫国编)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=-- (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

2021年MATLAB)课后实验答案[1]

2021年MATLAB)课后实验答案[1]

实验一 MATLAB运算基础欧阳光明(2021.03.07)1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.5解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5. 下面是一个线性方程组:(1) 求方程的解。

(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M文件如下:实验三选择结构程序设计1. 求分段函数的值。

用if语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y值。

解:M文件如下:2. 输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。

其中90分~100分为A,80分~89分为B,79分~79分为C,60分~69分为D,60分以下为E。

要求:(1) 分别用if语句和switch语句实现。

(2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

MATLAB程序设计及应用(第二版)课后实验答案

MATLAB程序设计及应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

2019年MATLAB)课后实验答案

2019年MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin 851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;5. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。

(2) 将方程右边向量元素b 3改为再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M 文件如下:123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。

2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=,,,,,,时的y 值。

matlab实验三答案详解

matlab实验三答案详解

实验三选择结构程序设计实验内容1.程序代码function f(x)if x<0&x~=-3y=x*x+x-6;elseif x>0&x<5&x~=2&x~=3y=x*x-5.*x+6;elsey=x*x-x-1endy运行结果>> f(-7)y =36>> f(2.5)y =-0.2500>> f(90)y =80092.程序代码score=input('分数=');if score<=100&score>=0switch fix(score/10)case{9,10}grade='A';case{8}grade='B';case{7}grade='C';case{6}grade='D';otherwisegrade='E';endgradeelsedisp('输入有误,请输入正确的百分制成绩');end运行结果>> 分数=56grade =E>> f分数=345输入有误,请输入正确的百分制成绩3.程序代码time=input('工作时间=');switch timecase{time>120}wage=(time-120)*(1+15/100)*84+120*84;case{time<60}wage=time*84-700;otherwisewage=time*84end运行结果>> f工作时间=150wage =12600>> f工作时间=50wage =4200>> f工作时间=110wage =92404.程序代码A=10+90*rand(5);a=fix(A(3,3))b=fix(A(2,4))x=input('输入一个运算符号','s');switch xcase {'+'}c=a+b;case{'-'}c=a-b;case{'*'}c=a*b;case{'/'}c=a/b;otherwisec='无效'endc运行结果>> fa =55b =59输入一个运算符号+c =114>> fa =77b =14输入一个运算符号/c =5.5000>> fa =30b =58输入一个运算符号#c =无效c =无效5.程序代码A=input('输入一个5行6列的矩阵A=');n=input('输入一个正整数n=');if n<5&n>0disp(A(n,:));elsedisp(A(5,:));endlasterr运行结果>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 9 2 2 2 3;11 2 11 9 7 3;2 3 4 5 6 7] 输入一个正整数n=62 3 4 5 6 7ans =Undefined function or variable 'clcl'.>> f输入一个5行6列的矩阵A=[1 2 3 4 5 5;2 3 4 5 7 6;2 2 2 2 2 3;11 2 3 9 7 3;2 3 4 5 6 7]输入一个正整数n=32 2 2 2 2 3ans =Undefined function or variable 'clcl'.。

03程序设计方案

03程序设计方案
双分支if语句:
if 条件 语句组1
else 语句组2
end
%当条件成立时,执行语句组1, 否则执行语句组2,语句组1或 语句组2执行后,再执行end后 面的语句。
10
例:计算下面的分段函数
x =10 x ≠10
x=input ("x="); if x==10
y=cos(x+1)+sqrt(x^2+1); else
13
例:根据变量num 的值来决定显示的内容。
num=input("请输入一个数"); switch num case -1
disp ("I am a teacher."); case 0
disp ("I am a student."); case 1
disp ("You are a teacher."); otherwise
y=x* sqrt (x+ sqrt (x)); end
disp (y);
11
多分支if语句:
if 条件1 语句组1
elseif 条件2 语句组2
… elseif 条件n
语句组n
else 语句组n+1
end
例:计算函数
的值。
x=input ("x="); if x > =2
y=x+(x-2); elseif x<2 & x > = 0
Set/Clear Breakpoint:设置/清除光标处的断点; Clear All Breakpoint:清除程序中的所有断点; Stop if Error/ Warning…:运行至…结束(自动断点); Run:执行程序至结束遇到断点;

MATLAB程序设计及应用(第二版)课后实验答案

MATLAB程序设计及应用(第二版)课后实验答案

Matlab 课后实验题答案实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e=+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B和A-B+I(其中I为单位矩阵)(2) A*B和A.*B(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]解:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

实验三 选择结构程序设计

实验三  选择结构程序设计

实验三选择结构程序设计1. MATLAB源程序:x=input('请输入x的值:');if x<0&x~=-3y=x*x+x-6;elseif 0<=x&x<5&x~=2&x~=3y=x*x-5*x+6;elsey=x*x-x-1;endyMATLAB运行结果:请输入x的值:-5y =14请输入x的值:-3y =11请输入x的值:1y =2请输入x的值:2y =1请输入x的值:2.5y =-0.2500请输入x的值:3y =5请输入x的值:5y =192.(1).用if语句来编程:MATLAB源程序:x=input('输入成绩:');if x<0|x>100disp('输入出错'); elseif x>=90&x<=100disp('A');elseif x>=80&x<=90;disp('B');elseif x>=70&x<=80;disp('C');elseif x>=60&x<=70;disp('D');elsedisp('E');endMATLAB运行结果:输入成绩:118输入出错输入成绩:108输入出错输入成绩:98A输入成绩:88B输入成绩:78C输入成绩:68D输入成绩:58E输入成绩:48E输入成绩:18E输入分数-88输入出错输入分数-108输入出错(2).用switch语句来编程: MATLAB源程序:grade=input('请输入百分制分数');switch fix(grade/10)case{9}disp('A');case{8}disp('B');case{7}disp('C');case{6}disp('D');case num2cell(0:5)disp('E');otherwisedisp('成绩出错');endMATLAB运行结果:请输入百分制分数118成绩出错请输入百分制分数108成绩出错请输入百分制分数98A请输入百分制分数88B请输入百分制分数78C请输入百分制分数68D请输入百分制分数58E请输入百分制分数48E请输入百分制分数-88成绩出错请输入百分制分数-108成绩出错4 MATLAB源程序:clc;x=randint(1,2,[10,100])y1=x(1)+x(2)y2=x(1)-x(2)y3=x(1)*x(2)y4=x(1)/x(2)MATLAB运行结果:x =27 54y1 =81y2 =-27y3 =1458y4 =0.50005.MATLAB源程序:x=randint(1,30,[8,88]);y=reshape(x,5,6)n=input('请输入n的值:');if n>=0&n<6;y(n,:)elsey(5,:)disp('the input is wrong');endMATLAB运行结果:y =18 24 84 58 67 77 47 53 14 54 13 7177 59 16 12 77 4978 41 19 83 83 22 29 24 21 67 87 40请输入n的值:1ans =18 24 84 58 67 77 y =18 34 53 22 88 41 10 45 77 61 51 45 84 60 36 34 65 69 32 10 44 80 88 74 31 76 12 17 31 16请输入n的值:8ans =31 76 12 17 31 16 the input is wrong。

《MATLAB程序设计》实验指导书

《MATLAB程序设计》实验指导书

三、
实验仪器和设备
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程序设计与应用课后实验答案
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
[A,B]
[A([1,3],:);B^2]
运算结果:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
A+6.*B
A-B+eye(3)
A*B
A.*B
A^3
A.^3
A/B
B\A
0 0 0 0
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
由ans,所以
2. 产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
解:M文件如下:
输出结果:
H =
P =
1 1 1 1 1
Columns 57 through 60
Column 61
z4 =
0 0
2. 已知:
求下列表达式的值:
(1) A+6*B和A-B+I(其中I为单位矩阵)
(2) A*B和A.*B
(3) A^3和A.^3
(4) A/B及B\A
(5) [A,B]和[A([1,3],:);B^2]
解:
M文件:
A=[12 34 -4;34 7 87;3 65 7];B=[1 3 -1;2 0 3;3 -2 7];
实验四 循环结构程序设计
一、实验目的
1. 掌握利用for语句实现循环结构的方法。
2. 掌握利用while语句实现循环结构的方法。

matlab程序设计与应用实验指导书

matlab程序设计与应用实验指导书
a)绘制三维圆柱螺旋线, ,要求给出相应的坐标轴和标题附加标注,螺旋线为蓝色虚线。
在matlab中,有一种特殊的运算,因为其运算苻是在有关算术运算苻前面加点,因此叫点运算。点运算苻有.*,./,.\和.^。两个矩阵进行点运算是指它们的对应元素进行相关运算,要求两矩阵的维参数相同。
三、实验仪器和设备
1.计算机1台
四、预习要求
1.复习特殊矩阵的产生。
2.复习矩阵的加减乘除与乘方运算,以及相应的点运算。
(1)求它们的乘积C;
(2)将矩阵C的右下角3*2子矩阵赋给D;
(3)察看matlab工作空间的使用情况。
六、实验报告要求
实验报告应包括实验目的、实验内容、流程图、程序清单、运行结果以及实验的收获与体会。
实验二、
一、实验目的
1,掌握生成特殊矩阵的方法;
2,掌握矩阵分析的方法;
3,用矩阵求逆法求解线性方程组。
5,完成以下各题,将答案写入实验报告,并在机器上运行结果验证
(1)编写一个函数文件求两个数的最大值。
(2)编写一个函数文件求三个数的最大值。
(3)编写一个函数文件,求矩阵的最大元
(4)编写一个函数文件,以向量为参数,对向量元素进行排序并输出
六、实验报告要求
1.完成实验内容中的计算;
2.验证实验内容中计算所得结果的正确性。
(3)try语句
3)循环结构
(1)for语句
(2)while语句
(3)break语句与continue语句
(4)循环的嵌套
3,函数文件
function 输出形参表=函数名(输入形参表)
注释说明部分
函数体语句
三、实验仪器和设备
1.计算机1台
四、预习要求

matlab程序设计与优化的实验三

matlab程序设计与优化的实验三

matlab程序设计与优化的实验三实验三:MATLAB程序设计与优化1. 引言在实验室研究和工程开发中,MATLAB是一种非常流行和强大的工具,用于进行数值计算,数据分析和可视化。

为了提高MATLAB程序的性能和效率,程序优化是其中的关键步骤之一。

本实验将介绍MATLAB程序设计与优化的重要性,并探讨一些实用的优化技巧。

2. 程序设计与性能评估在开始编写和优化MATLAB程序之前,首先需要理解程序设计和性能评估的基本概念。

程序设计涉及到选择合适的数据结构、算法和编程技巧,以实现预期的功能。

而性能评估则是通过测量程序的执行时间、占用的内存和CPU使用率等指标,来评估程序的效率和优化空间。

3. 代码向量化优化代码向量化是一种重要的优化技巧,可以大大提高MATLAB程序的执行速度。

向量化是将循环和条件语句替换为矩阵和向量操作的过程,从而减少了循环迭代的次数,提高了代码的效率。

在实验中,我们可以通过使用MATLAB内置的向量和矩阵运算函数,如sum、mean和dot等,来实现代码向量化。

4. 内存管理和预分配在编写MATLAB程序时,合理的内存管理和预分配也是优化的重要方面。

内存管理涉及到使用合适的数据结构来存储数据,并避免不必要的内存分配和释放操作。

而预分配则是一种预先分配足够的内存空间,以避免频繁的内存重新分配操作。

这样可以减少程序的运行时间和内存占用。

5. 函数和脚本的优化除了代码级别的优化,函数和脚本的优化也是提高MATLAB程序性能的关键。

函数优化可以通过减少函数的输入和输出参数个数,避免全局变量的使用以及使用精确的数据类型等方式来实现。

而脚本优化则涉及到合理的脚本结构和逻辑,以提高整个脚本的执行效率。

6. 并行计算和多线程随着多核处理器的普及,利用并行计算和多线程技术来加速MATLAB程序变得越来越重要。

MATLAB提供了Parallel Computing Toolbox和Multithreading Support等工具箱,可用于实现并行计算和多线程操作。

matlab选择与循环结构程序

matlab选择与循环结构程序

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程序设计与应用(第二版)课后实验答案

Matlab课后实验题答案实验一 MATLAB运算基础1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。

(1)0 122sin851ze =+(2)21ln( 2z x=+,其中2120.455i x+⎡⎤=⎢⎥-⎣⎦(3)0.30.330.3sin(0.3)ln, 3.0, 2.9,,2.9,3.0 22a ae e az a a--+=++=--(4)2242011122123t tz t tt t t⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t=0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2] 解:3. 设有矩阵A 和B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量 例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

实验三MATLAB的程序设计

实验三MATLAB的程序设计
error('k>n,put in again!!');
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));

MATLAB实验三-选择结构程序设计

MATLAB实验三-选择结构程序设计

MATLAB实验报告学院:光电学院班级:073-1姓名:刘颖学号:2实验三 选择结构程序设计1. 求分段函数的值。

y=⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+其他及且且,13250,653x 0,6222x x x x x x x x x x用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的值。

程序设计:x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]if x<0&x~=-3y=x.*x+x-6;elseif x>=0&x<5&x~=2&x~=3y=x.*x-5*x+6;else y=x.*x-x-1endy运行结果:x =-5.0000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.0000 y =29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.00002.输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分一下为E 。

要求:(1)分别用if 语句和switch 语句实现。

用switch 语句实现程序设计:score=input('请输入百分制成绩:');switch fix(score/10)case {9,10}grade='A';case {8}grade='B';case {7}grade='C';case {6}grade='D';otherwisegrade='E';endgrade请输入百分制成绩:95grade =A请输入百分制成绩:86grade =B请输入百分制成绩:50grade =E用if语句实现程序设计:score=input('请输入百分制成绩:');k=fix(score/10);if k=9&k=10grade='A';elseif k=8grade='B';elseif k=7grade='C';elseif k=6grade='D';else grade='E';endgrade运行结果:请输入百分制成绩:74grade =C请输入百分制成绩:65grade =D请输入百分制成绩:21grade =E(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

MATLAB程序设计与应用(刘卫国编)课后实验答案

MATLAB程序设计与应用(刘卫国编)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.52. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。

第三章Matlab的选择结构

第三章Matlab的选择结构

第三章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 ⽂本的⾼级控制...。

实验三 matlab教程2 程序设计

实验三  matlab教程2 程序设计

18
2.2.2 选择结构
2、switch语句
switch语句根据表达式的取值不同,分别执行不同的语句, 其语句格式:
switch 表达式
case 表达式1
语句组1
case 表达式2
语句组2 switch子句后面的表达式应为一个标量或一个字符串;

case子句后面的表达式不仅可以为一个标量或一个字符
8
2.2.1 顺序结构
顺序结构是指按照程序中语句的排列顺序依次执 行,直到程序的最后一个语句。(最简单的一种 程序)
1、数据的输入 从键盘输入数据,则可以使用input函数来进行, 调用格式为:
A = input(提示信息,选项); 其中提示信息为一个字符串,用于提示用户输入 数据。
例:xm = input(‘What’’s your name?’,’s’);
end C lasterr %显示出错原因
C= 7 16 27 40 55 72
ans = Error using ==> mtimes Inner matrix dimensions must agree.
2020/4/13
Application of Matlab Language
23
2.2.3 循环结构
2020/4/13
Application of Matlab Language
16
2.2.2 选择结构
(3)多分支if语句 语句格式: if 条件1
语句组 1 elseif 条件2
语句组 2 … elseif 条件m
语句组 m else
语句组n end
2020/4/13
Application of Matlab Language
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB实验报告
学院:光电学院
班级:073-1
姓名:刘颖
学号:2
实验三 选择结构程序设计
1. 求分段函数的值。

y=⎪⎩⎪⎨⎧--≠≠<≤+--≠<-+其他
及且且,13250,653x 0,6222x x x x x x x x x x
用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的值。

程序设计:
x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]
if x<0&x~=-3
y=x.*x+x-6;
elseif x>=0&x<5&x~=2&x~=3
y=x.*x-5*x+6;
else y=x.*x-x-1
end
y
运行结果:
x =
-5.0000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000
y =
29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.0000
y =
29.0000 11.0000 -1.0000 1.0000 2.7500 5.0000 19.0000
2.输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。

其中90分~100分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分一下为E 。

要求:
(1)分别用if 语句和switch 语句实现。

用switch 语句实现
程序设计:
score=input('请输入百分制成绩:');
switch fix(score/10)
case {9,10}
grade='A';
case {8}
grade='B';
case {7}
grade='C';
case {6}
grade='D';
otherwise
grade='E';
end
grade
请输入百分制成绩:95
grade =
A
请输入百分制成绩:86
grade =
B
请输入百分制成绩:50
grade =
E
用if语句实现
程序设计:
score=input('请输入百分制成绩:');
k=fix(score/10);
if k=9&k=10
grade='A';
elseif k=8
grade='B';
elseif k=7
grade='C';
elseif k=6
grade='D';
else grade='E';
end
grade
运行结果:
请输入百分制成绩:74
grade =
C
请输入百分制成绩:65
grade =
D
请输入百分制成绩:21
grade =
E
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

程序设计:
score=input('请输入百分制成绩:');
if score>=0&score<=100
switch fix(score/10)
case {9,10}
grade='A';
case {8}
grade='B';
grade='C';
case {6}
grade='D';
otherwise
grade='E';
end
grade
else
disp('erro')
end
运行结果:
请输入百分制成绩:-50
erro
2.硅谷公司员工的工资计算方法如下:
(1)工作时数超过120小时者,超过部分加发15%。

(2)工作时数低于60小时者,扣发700元。

(3)其余按每小时84元计发。

试编程按输入的工号和该号员工的工时数,计算应发工资。

程序设计:
num=input('请输入工号:');
time=input('请输入工时数:');
if time<60
salary=time*84-700;
elseif time>120
salary=84*120+(time-120)*84*(1+0.15);
else
salary=time*84;
end
salary
运行结果:
请输入工号:24
请输入工时数:46
salary =
3164
4.设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入一个运算符号,做相应的运算,并显示相应的结果。

程序设计:
A=fix(rand(1,2)*100);
a=A(1,1)
b=A(1,2)
c=input('请输入运算符号:')
if c=='+';
k=a+b;
elseif c=='-'
k=a-b;
elseif c=='*'
k=a*b;
else c=='\'
k=a\b;
end
k
运行结果:
a
=
60
b =
48
请输入运算符号:'-'
c =
-
k =
12
5.建立5 6矩阵,要求输出矩阵第n行元素。

当n值超过矩阵的行数时,自动转为输出矩阵最后一行元素,并给出出错信息。

程序设计:
A=rand(5,6)
n=input('n=?')
if n>=1&n<=5
B=A(n,1:6);
else
disp('erro!!')
B=A(5,1:6);
end
B
运行结果:
A =
0.9342 0.6458 0.1370 0.6873 0.4225 0.4574
0.2644 0.9669 0.8188 0.3461 0.8560 0.4507
0.1603 0.6649 0.4302 0.1660 0.4902 0.4122
0.8729 0.8704 0.8903 0.1556 0.8159 0.9016
0.2379 0.0099 0.7349 0.1911 0.4608 0.0056
n=?4
n =
4
B =
0.8729 0.8704 0.8903 0.1556 0.8159 0.9016。

相关文档
最新文档