matlab选择结构程序设计问题详解
(完整版)Matlab实验5选择结构程序结构

(完整版)Matlab实验5选择结构程序结构实验五、选择与循环结构一、实验目的: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 运算基础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 +⎡⎤=⎢⎥⎣⎦。
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实验三答案详解

实验三选择结构程序设计实验内容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'.。
matlab选择结构程序的设计答案

matlab选择结构程序的设计答案实验三选择结构程序设计一、实验目的1、掌握建立和执行M文件的方法。
2、掌握利用if语句实现选择结构的方法。
3、掌握利用switch语句实现多分支选择结构的方法。
4、掌握try语句的使用。
二、实验内容1、求分段函数的值。
用if语句实现,分别输出x=-5.0,3.0,1.0,2.0,2.5,3.0,5.0时的y值。
①x=input('please input the value of 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-1;endy②please input the value of x-5.0y =14>> aaaaaplease input the value of x-3.0y =>> aaaaaplease input the value of x1.0 y =2>> aaaaaplease input the value of x2.0 y =1>> aaaaaplease input the value of x2.5 y =-0.2500>> aaaaaplease input the value of x3.0 y =5please input the value of x5.0y =192、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80分~89分为B,70分~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理性的成绩应输出出错信息。
If语句①s=input('please input the score:');if s>=90&s<=100rank='A';elseif s>=80&s<=89rank='B';elseif s>=70&s<=79rank='C';elseif s>=60&s<=69rank='D';elseif s>0&s<=59elserank='wrong socre'endrank②>>>> bbbplease input the score:94A>> bbbplease input the score:75rank =C>> bbbplease input the score:-3rank =wrong socre>> bbbplease input the score:456rank =wrong socre>>Switch语句①score=input('please input the score:'); switch floor(score/10)case{9,10}rank='A';case{8}rank='B';case{7}case{6}rank='D';case num2cell(0:5)rank='E';otherwiserank='wrong score'; endrank=rank②>> cccplease input the score:-3 rank =wrong score>> cccplease input the score:456 rank =wrong score>> cccplease input the score:94rank =A>> cccplease input the score:45rank =E3、硅谷公司员工的工资计算方法如下:(1)、工作时数超过120小时者,超过部分加发15%。
MATLAB程序结构——选择结构.

根据表达式的取值不同,分别执行不同的语句。
表达式?
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’
matlab实验指导答案详解(非常详细正确)

matlab实验指导答案详解(⾮常详细正确)实验⼀ MATLAB ⼯作环境熟悉及简单命令的执⾏⼀、实验⽬的:熟悉MATLAB 的⼯作环境,学会使⽤MATLAB 进⾏⼀些简单的运算。
⼆、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌⾯(Desktop ),包括菜单(Menu )、⼯具条(Toolbar )、命令窗⼝(Command Window)、历史命令窗⼝、⼯作空间(Workspace)等;完成⼀些基本的矩阵操作;学习使⽤在线帮助系统。
三、实验步骤:1、启动MATLAB ,熟悉MATLAB 的桌⾯。
2、在命令窗⼝执⾏命令完成以下运算,观察workspace 的变化,记录运算结果。
(1)(365-52?2-70)÷3 >>(365-52*2-70)/3 ans = 63.6667(2)>>area=pi*2.5^2 area = 19.6350(3)已知x=3,y=4,在MATLAB 中求z :()232y x y x z -= >>x=3 >>y=4>>z = x ^2 * y ^3 / (x - y) ^2 z = 576(4)将下⾯的矩阵赋值给变量m1,在workspace 中察看m1在内存中占⽤的字节数。
m1=11514412679810115133216 执⾏以下命令>>m1 =[16 2 3 13 ; 5 11 10 8 ; 9 7 6 12 ; 4 14 15 1 ] >>m1( 2 , 3 ) ans = 10 >>m1( 11 ) ans = 6>>m1( : , 3 ) ans =3 10 6 15>>m1( 2 : 3 , 1 : 3 ) ans =5 11 10 9 7 6>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) ans = 34(5)执⾏命令>>help abs查看函数abs 的⽤法及⽤途,计算abs( 3 + 4i ) (6)执⾏命令>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)(6)运⾏MATLAB 的演⽰程序,>>demo ,以便对MATLAB 有⼀个总体了解。
MATLAB教程课后实验报告题目及解答[第一至第五章]
![MATLAB教程课后实验报告题目及解答[第一至第五章]](https://img.taocdn.com/s3/m/512b4436f111f18583d05a96.png)
MATLAB教程实验报告实验项目名称实验一 Matlab基本操作学生姓名汪德旺专业班级 09数教(1)班学号 0301090131实验成绩日期一. 实验目的和要求1、了解MATLAB 的开发环境。
2、熟悉Matlab的基本操作。
3、掌握建立矩阵的方法。
4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。
5、填写实验报告,实验报告文件取名为report1.doc。
6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。
二、实验内容1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1)0 122sin851ze =+(2)2212 1ln(0.4552i z x x+⎡⎤==⎢⎥-⎣⎦其中(3)0.30.330.3sin(0.3)ln,22a ae e az a--+=++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0(4)2242,011,12,0:0.5:2.521,23t tz t tt t t⎧≤<⎪=-≤<=⎨⎪-+≤<⎩其中t2.已知:1234413134787,2033657327 A 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 和B123453016678910A=,B=17-691112131415023-41617181920970212223242541311⎡⎤⎢⎥⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎢⎥⎢⎥⎣⎦(1)求它们的乘积C 。
(2)将矩阵C 的右下角3*2子矩阵赋给D 。
(3)查看MATLAB 工作空间的使用情况。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三选择结构程序设计
一、实验目的
1、掌握建立和执行M文件的方法。
2、掌握利用if语句实现选择结构的方法。
3、掌握利用switch语句实现多分支选择结构的方法。
4、掌握try语句的使用。
二、实验内容
1、求分段函数的值。
用if语句实现,分别输出x=-5.0,3.0,1.0,2.0,2.5,3.0,5.0时的y
值。
①x=input('please input the value of x');
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
②please input the value of x-5.0
y =
14
>> aaaaa
please input the value of x-3.0
y =
>> aaaaa
please input the value of x1.0 y =
2
>> aaaaa
please input the value of x2.0 y =
1
>> aaaaa
please input the value of x2.5 y =
-0.2500
>> aaaaa
please input the value of x3.0 y =
5
please input the value of x5.0
y =
19
2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。
其中90分~100分为A,80
分~89分为B,70分~79分为C,60~69分为D,60分以下为E。
要求:
(1)分别用if语句和switch语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理性的成绩应输出出错信息。
If语句
①s=input('please input the score:');
if s>=90&s<=100
rank='A';
elseif s>=80&s<=89
rank='B';
elseif s>=70&s<=79
rank='C';
elseif s>=60&s<=69
rank='D';
elseif s>0&s<=59
rank='E';
else
rank='wrong socre'
end
rank
②>>
>> bbb
please input the score:94
A
>> bbb
please input the score:75
rank =
C
>> bbb
please input the score:-3
rank =
wrong socre
>> bbb
please input the score:456
rank =
wrong socre
>>
Switch语句
①score=input('please input the score:'); switch floor(score/10)
case{9,10}
rank='A';
case{8}
rank='B';
case{7}
rank='C';
case{6}
rank='D';
case num2cell(0:5)
rank='E';
otherwise
rank='wrong score'; end
rank=rank
②
>> ccc
please input the score:-3 rank =
wrong score
>> ccc
please input the score:456 rank =
wrong score
>> ccc
please input the score:94
rank =
A
>> ccc
please input the score:45
rank =
E
3、硅谷公司员工的工资计算方法如下:
(1)、工作时数超过120小时者,超过部分加发15%。
(2)、工作时数低于60小时者,扣发700元。
(3)、其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
①number=input('please input work number:');
h=input('please input work hours:');
if h>120
wage=120*84+(h-120)*84*1.15;
elseif h<60
wage=h*84-700;
else
wage=h*84;
end
wage
②>> ddd
please input work number:01
please input work hours:74
wage =
6216
>> ddd
please input work number:02
please input work hours:53
wage =
3752
>> ddd
please input work number:03
please input work hours:135
wage =
11529
>>
4、设计程序,完成两位数的加、减、乘、除四则运算,即产生两个两位随机整数,再输入
一个运算符号,做相应的运算,并显示相应的结果。
①x=input('please input a sign:','s');
x1=round(rand(1)*90+10);
x2=round(rand(1)*90+10);
if x=='+'
answer=x1+x2;
elseif x=='-'
answer=x1-x2; elseif x=='*'
answer=x1*x2; elseif x=='/'
answer=x1/x2;
end
x1
x2
answer
②> eee
please input a sign:+ x1 =
83
x2 =
11
answer =
94
>> eee
please input a sign:-
23
x2 =
28
answer =
-5
>>
5、建立5×6矩阵,要求输出矩阵第n行元素。
当n值超过矩阵的行数时,自动转为输出
矩阵的最后一行元素,并给出出错信息。
①x=rand(5,6);
n=input('please input n:');
if n>0&n<=5
y=x( n,:);
elseif n>5;
y=x(5,:);
disp('wrong n');
elseif n<0;
y=( 'wrong n');
end
y
>> eee
please input n:4
y =
0.9383 0.2789 0.4787 0.9222 0.9238 0.5945
>> eee
please input n:7
wrong n
y =
0.4397 0.1121 0.9442 0.5744 0.1443 0.3099
>> eee
please input n:-3
y =
wrong n
>>。