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]](https://img.taocdn.com/s3/m/04d862d3eff9aef8951e06c1.png)
实验一 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运算基础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)课后实验答案

实验一 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实验三答案详解

实验三选择结构程序设计实验内容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程序设计方案

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 运算基础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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。