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课后实验题答案实验一 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)课后实验答案
实验一 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 a z a a --+=++=--L (4) 2242011122123t t z t t t 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 OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得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'.。
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课后习题及答案详解
matlab课后习题及答案详解第1章练习题1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。
matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。
matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。
3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。
matlab实验内容答案解析
实验报告说明:matlab课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容实验_ MATLAB运算基础一、实验目的1. 熟悉启动和退出MATLAB的方法。
2. 熟悉MATLAB命令窗口的组成。
3•掌握建立矩阵的方法。
4•掌握MATLAB各种表达式的书写规则以及常用函数的使用。
二、实验内容1•先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1) Zl =2 sin85。
1 + e22-0.45,0.3“ _ -0.3d提示:利用冒号表达式生成a向量,求各点的函数值时用点乘运算。
t20</<1(4)Z4=$—11</<2 ,其中t = 0 : 0.5 : 2.52<t<3提示:用逻辑表达式求分段函数值。
2 •已知_12 34 -4_i 3 -rA =34 7 87,B = 2 0 33 65 73-2 7求下列表达式的值:(1) A+6二B和A-B+I(其中I为单位矩阵)。
(2) A*B和A.*B o(3) A^3 和A\3。
(4) A/B和B\A。
(5 ) [A , B]和[A([l f3],;);B A2]。
3•设有矩阵A和B_12345・~301667891017-69A =1112131415,B =023-41617181920970212223242541311(1) 求它们的乘积C。
2 将矩阵C的右下角3x2子矩阵赋给D(3) 查看MATLAB I作空间使用情况。
4.完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
提示:先利用冒号表达式,再利用find和length函数。
(2) 建立一个字符串向量,删除其中的大写字母。
提示:利用find函数和空矩阵。
第二次实验内容实验三选择结构程序设计一、实验目的1. 掌握建立和执行M文件的方法。
2. 掌握利用if语句实现选择结构的方法。
915230-MATLAB第三版实验答案
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实验指导答案详解(非常详细正确)
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 课后实验题答案实验一 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 +⎡⎤=⎢⎥⎣⎦。
MATLAB课后习题集附标准答案
第2章 MATLAB概论1、与其他计算机语言相比较,MATLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MATLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.矚慫润厲钐瘗睞枥庑赖。
4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。
答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。
5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.酽锕极額閉镇桧猪訣锥。
6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.謀荞抟箧飆鐸怼类蒋薔。
实验4答案 Matlab程序设计1
实验4 Matlab 程序设计1实验目的:1、 掌握建立和执行M 文件的方法;2、 掌握实现选择结构的方法;3、 掌握实现循环结构的方法。
实验内容:1. 从键盘输入一个4位整数,按如下规则加密后输出。
加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。
a = input('请输入一个四位整数:');a1 = fix(a/1000);a2 = rem(fix(a/100),10);a3 = rem(rem(fix(a/10),100),10);a4 = rem(a,10);a1 = rem(a1+7,10)a2 = rem(a2+7,10)a3 = rem(a3+7,10)a4 = rem(a4+7,10)b1 = a1;a1 = a3;a3 = b1;b2 = a2;a2 = a4;a4 = b2;b = a1*1000+a2*100+a3*10+a42. 求分段函数的值。
,x x x x y x x x x x x x ⎧+- <≠-⎪=-+ ≤<≠≠⎨⎪-- ⎩2226035605231且且及其他用if 语句实现,分别输出x=-5,-3,0,1,2,2.5,3,5时的y 值。
x = input(请输入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;endy3.输入一个百分制成绩,要求输出成绩等级A、B、C、D、E,其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:(1)分别用if语句和swich语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
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: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) 建立一个字符串向量,删除其中的大写字母。
第二部分 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。
MATLAB程序设计教程课后答案
M A T L A B程序设计教程(第二版)课后答案(总16页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--MATLAB第二版课后答案unit3-8unit3实验指导1、 n=input('请输入一个三位数:');a=fix(n/100);b=fix((n-a*100)/10);c=n-a*100-b*10;d=c*100+b*10+a2(1)n=input('请输入成绩');switch ncase num2cell(90:100)p='A';case num2cell(80:89)p='B';case num2cell(70:79)p='C';case num2cell(60:69)p='D';otherwisep='E';endprice=p(2)n=input('请输入成绩');if n>=90&n<=100p='A';elseif n>=80&n<=89p='B';elseif n>=70&n<=79p='C';elseif n>=60&n<=69p='D';elsep='E';endprice=p(3)tryn;catchprice='erroe'end3n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];a=n(1);b=n(1);for m=2:20if n(m)>aa=n(m);elseif n(m)<bb=n(m);endendmax=amin=b法2n=[1,5,56,4,3,476,45,6,3,76,45,6,4,3,6,4,23,76,908,6];min=min(n)max=max(n)4b=[::];for n=1:61a=b(n);y(n)=(exp*a)-exp*a))/2*sin(a++log(+a)/2);endy5y1=0;y2=1;n=input('请输入n的值:');for i=1:ny1=y1+1/i^2;y2=y2*((4*i*i)/((2*i-1)*(2*i+1)));endy1y26A=[1,1,1,1,1,1;2,2,2,2,2,2;3,3,3,3,3,3;4,4,4,4,4,4;5,5,5,5,5,5;6,6,6, 6,6,6];n=input('请输入n的值:');if n<=5&n>=0disp(A([n],:));elseif n<0disp(lasterr);else disp(A([6],:));disp(lasterr);end7(1)f=[];for n=1:40f(n)=n+10*log(n^2+5);endy=f(40)/(f(30)+f(20))(2)f=[];a=0;for n=1:40f(n)=a+n*(n+1);a=f(n);endy=f(40)/(f(30)+f(20))8y=0;m=input('输入m的值:');n=input('输入n值:');for i=1:ny=y+i^m;endy************************************************************ function s=shi8_1(n,m)s=0;for i=1:ns=s+i^m;end************************************************************ shi8_1(100,1)+shi8_1(50,2)+shi8_1(10,1/2)思考练习2N=[1,2,3,4,5];2.*NN./21./N1./N.^23s=fix(100*rand(1,20)*9/10+10)y=sum(s)/20j=0;for i=1:20if s(i)<y&rem(s(i),2)==0j=j+1;A(j)=s(i);else continue;endendA4y1=0;y2=0;n=input('请输入n的值:');for i=1:ny1=y1+-(-1)^i/(2*i-1);y2=y2+1/4^i;endy1y2unit4实验指导1(1)x=-10::10;y=x-x.^3./6;plot(x,y)(2)x=-10::10;ezplot('x^2+2*y^2-64',[-8,8]); grid on;2t=-pi:pi/10:pi;y=1./(1+exp(-t));subplot(2,2,1);bar(t,y);title('条形图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,2);stairs(t,y,'b');title('阶梯图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,3);stem(t,y,'k');title('杆图(t,y)');axis([-pi,pi,0,1]);subplot(2,2,4);loglog(t,y,'y');title('对数坐标图(t,y)');3(1)t=0:pi/50:2*pi;r=5.*cos(t)+4;polar(t,r);title('\rho=5*cos\theta+4');(2)t=-pi/3:pi/50:pi/3;r=5.*((sin(t)).^2)./cos(t); polar(t,r);4(1)t=0:pi/50:2*pi;x=exp(-t./20).*cos(t);y=exp(-t./20).*sin(t);z=t;plot3(x,y,z);grid on;(2)[x,y]=meshgrid(-5:5);z=zeros(11)+5;mesh(x,y,z);shading interp;5[x,y,z]=sphere(20);surf(x,y,z);axis off;shading interp;m=moviein(20);for i=1:20axis([-i,i,-i,i,-i,i])m(:,i)=getframe;endmovie(m,4);思考练习2(1)x=-5::5;y=(1./(2*pi)).*exp((-(x.^2))/2); plot(x,y);(2)t=-2*pi::2*pi;x=t.*sin(t);y=t.*cos(t);plot(x,y);grid on;3t=0:pi/1000:pi;x=sin(3.*t).*cos(t);y1=sin(3.*t).*sin(t);y2=2.*;plot(x,y1,'k',x,y2);hold on;k=find(abs(y1-y2)<1e-2);x1=x(k);y3=2.*;plot(x1,y3,'rp');4x=-2::2;y=sin(1./x);subplot(2,1,1);plot(x,y);subplot(2,1,2);fplot('sin(1./x)',[-2,2],1e-4);5(1)i=-4*pi::10;j=12./sqrt(i);polar(i,j);title('{\rho}=12/sqrt(\theta)')(2)a=-pi/6::pi/6;b=3.*asin(a).*cos(a)./((sin(a)).^3+(cos(a)).^3); polar(a,b);6(1)[u,v]=meshgrid(-4::4);x=3.*u.*sin(v);y=2.*u.*cos(v);z=4.*u.^2;subplot(2,1,1);mesh(x,y,z);subplot(2,1,2);surf(x,y,z);(2)[x,y]=meshgrid(-3::3);z=-5./(1+x.^2+y.^2);subplot(1,2,1);mesh(x,y,z);subplot(1,2,2);surf(x,y,z);unit5实验指导1A=randn(10,5)x=mean(A)y=std(A)Max=max(max(A))Min=min(min(A))Sumhang=sum(A,2)SumA=sum(Sumhang)B=sort(A);C=sort(B,2,'descend');C2(1)a=0:15:90;b=a./180.*pi;s=sin(b)c=0:15:75;d=c./180.*pi;t=tan(d)e=input('请输入想计算的值:'); S=sin(e/180*pi)T=tan(e/180*pi)S1=interp1(a,s,e,'spline')T1=interp1(c,t,e,'spline')P1=polyfit(a,s,5);P2=polyfit(c,t,5);S2=polyval(P1,e)T2=polyval(P2,e)(2)n=[1,9,16,25,36,49,64,81,100]; N=sqrt(n);x=input('ji suan zhi : '); interp1(n,N,x,'cubic')3N=64;T=5;t=linspace(0,T,N);h=exp(-t);dt=t(2)-t(1);f=1/dt;X=fft(t);F=X(1:N/2+1);f=f*(0:N/2)/N;plot(f,abs(F),'-*')4P=[2,-3,0,5,13];Q=[1,5,8];p=polyder(P)q=polyder(P,Q)[a,b]=polyder(P,Q)5P1=[1,2,4,0,5];P2=[0,1,2];P3=[1,2,3];P=P1+conv(P2,P3)X=roots(P)A=[-1,,;,2,;0,5,];p=polyval(P,A)思考练习4A=rand(1,30000);a=mean(A)b=std(A)Max=max(A)Min=min(A)n=0;for i=1:30000if(A(i)>n=n+1;endendny=n/300005p=[45,74,54,55,14;78,98,45,74,12;87,98,85,52,65] [M,S]=max(p)[N,H]=min(p)junzhi=mean(p,1)fangcha=std(p,1,1)zong=sum(p,2);[Max,wei]=max(zong)[Min,wei]=min(zong)[zcj,xsxh]=sort(zong,'descend')6x=[1:10:101];y=[0,,,,,,,,,,];[p,s]=polyfit(x,y,5)a=1:5:101;y1=polyval(p,a);plot(x,y,':o',a,y1,'-*')unit6实验指导1A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; p=[,,]';x=A\pA=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; p=[,,]';x=A\pcond(A)2(1)x1=fzero(@funx1,-1)function fx=funx1(x)fx=x^41+x^3+1;(2)x2=fzero(@funx2,function fx=funx2(x)fx=x-sin(x)/x;(3)options=optimset('Display','off');x=fsolve(@fun3,[1,1,1]',options)q=fun3(x)function q=fun3(p)x=p(1);y=p(2);z=p(3);q(1)=sin(x)+y^2+log(z)-7;q(2)=3*x+2^y-z^3+1;q(3)=x+y+z-5;3(1)t0=0;tf=5;y0=1;[t,y]=ode23(@fun4,[t0,tf],y0);t'y'function yp=fun4(t,y)yp=-+sin(10*t))*y;(2)t0=0;tf=5;y0=1;[t,y]=ode23(@fun5,[t0,tf],y0);t'y'function yp=fun5(t,y)yp=cos(t)-y/(1+t^2);4x=fminbnd(@mymin,0,2);-mymin(x)function fx=mymin(x)fx=-(1+x.^2)/(1+x.^4);5options=optimset('Display','off');[x,fval]=fmincon(@fun6,[0,0,0],[],[],a,b,lb,ub)-fvalfunction f=fun6(x)f=-(sqrt(x(1))+(400-x(1))*+(sqrt(x(2))+(400-x(1))*(2))*+sqrt(3)+(((400-x(1))*(2))*(3))*+sqrt(x(x4)));思考练习1(1)A=[2,3,5;3,7,4;1,-7,1];B=[10,3,5]';C1=inv(A)*BC2=A\B[L,U]=lu(A);x=U\(L\B)(2)A=[6,5,-2,5;9,-1,4,-1;3,4,2,-2;3,-9,0,2];B=[-4,13,1,11]';C1=inv(A)*BC2=A\B[L,U]=lu(A);x=U\(L\B)2(1)x1=fzero(@funx1,function fx=funx1(x)fx=3*x+sin(x)-exp(x);(2)x1=fzero(@funx2,1)function fx=funx2(x)fx=x-1/x+5;(3)options=optimset('Display','off');x=fsolve(@fun3,[3,0]',options)q=fun3(x)function q=fun3(p)x=p(1);y=p(2);q(1)=x^2+y^2-9;q(2)=x+y-1;3(1)t0=0;tf=5;y0=[0,1];[t,y]=ode45(@vdpol,[t0,tf],y0);[t,y]function ydot=vdpol(t,y);ydot(1)=(2-3*y(2)-2*t*y(1))./(1+t^2);ydot(2)=y(1);ydot=ydot';(2)t0=0;tf=5;y0=[1;0;2];[t,y]=ode45(@vdpoll,[t0,tf],y0);[t,y]function ydot=vdpoll(t,y);ydot(1)=cos(t)-y(3)./(3+sin(t))+5*y(1).*cos(2*t)/((t+1).^2)-y(2); ydot(2)=y(1);ydot(3)=y(2);ydot=ydot';4x=fminbnd(@mymin,0,pi);-mymin(x)function fx=mymin(x)fx=-sin(x)-cos(x.^2);5[x,y1]=fminbnd(@mymax,0,;-y1function fx=mymax(x);fx=-(9*x+4*x.^3-12*x.^2);unit7实验指导1(1)format longfx=inline('sin(x)./x');[I,n]=quadl(fx,0,2,1e-10)(2)format longfx=inline('1./(.^2+-1./(.^2+-6');[I,n]=quad(fx,0,1,1e-10)2(1)global ki;ki=0;I=dblquad(@fxy,0,1,0,1)ki(2)f=inline('abs(cos(x+y))','x','y');I=dblquad(f,0,pi,0,pi)3X=::;F=[,,,,,,];trapz(X,F)4p=0:pi/5:2*pi;for n=1:3nDX=diff(sin(p),n)end5f=inline('sin(x)./(x+cos(2.*x))');g=inline('(cos(x).*(x+cos(2*x))-sin(x).*(1-2.*sin(2*x)))/(x+cos(2.*x)).^2');x=-pi::pi;p=polyfit(x,f(x),5);dp=polyder(p);dpx=polyval(dp,x); %求dp在假设点的函数值dx=diff(f([x,]))/; %直接对f(x)求数值导数gx=g(x); %求函数f的导函数g在假设点的导数plot(x,dpx,x,dx,'.',x,gx,'-'); %作图思考练习2format longfx=inline('1./(1+x.^2)');[I,n]=quad(fx,-Inf,Inf,1e-10)[I,n]=quadl(fx,-Inf,Inf,1e-10)x=-100000:100000;y=1./(1+x.^2);trapz(x,y)format short3(1)format longfx=inline('log(1+x)./(1+x.^2)');[I,n]=quad(fx,0,1,1e-10)(2)format longfx=inline('sqrt(cos(t.^2)+4*sin((2*t).^2)+1)'); [I,n]=quad(fx,0,2*pi,1e-10)4f=inline('4.*x.*z.*exp(-z.^2.*y-x.^2)');I=triplequad(f,0,pi,0,pi,0,1)5f=inline('sin(x)');g=inline('cos(x)');x=0::2*pi;p=polyfit(x,f(x),5);dp=polyder(p);dpx=polyval(dp,x);dx=diff(f([x,2*pi+]))/;gx=g(x);plot(x,dpx,x,dx,'.',x,gx,'-')unit8实验指导1syms x y;s=x^4-y^4;factor(s)factor(5135)2syms x;f=(x-2)/(x^2-4);limit(f,x,2)sym x;f=(sqrt(pi)-sqrt(acos(x)))/sqrt(x+1);limit(f,x,-1,'right')3sym x;f=sin(1/x);diff(f,'x')diff(f,'x',2)sym x;f=(1-cos(2*x))/x;diff(f,'x')diff(f,'x',2)4sym x;f=sqrt(exp(x)+1);int(f,'x')syms x y;f=x/(x+y);int(f,'y')sym x;f=exp(x)*(1+exp(x))^2;int(f,'x',0,log(2))sym x;f=x*log(x);int(f,'x',1,exp(1))5sym x;s=symsum((-1)^(x+1)/x,1,Inf)sym y;z=symsum(y^(2*y-1)/(2*y-1),1,Inf)6sym x;f1=(exp(x)+exp(-x))/2;f2=sqrt(x^3-2*x+1);taylor(f1,x,5,0)taylor(f2,x,6,0)7syms x y a;x=solve('x^3+a*x+1=0','x')x=solve('sin(x)+2*cos(x)-sqrt(x)=0','x')[x y]=solve('log(x/y)=9','exp(x+y)=3','x','y') 8syms n;[x,y]=dsolve('x*(D2y)+(1-n)*(Dy)+y=0','y(0)=0','Dy(0)=0','x')思考练习2syms x B1 B2 a bs1=2*((cos(x))^2)-(sin(x))^2;s2=sin(B1)*cos(B2)-cos(B1)*sin(B2);s3=sqrt((a+sqrt(a^2-b))/2)+sqrt((a-sqrt(a^2-b))/2);s4=(4*x^2+8*x+3)/(2*x+1);h1=simplify(s1)h2=simplify(s2)h3=simplify(s3)h4=simplify(s4)3syms x a;f=abs(x)/x;limit(f,x,0,'left')f=(x+a/x)^x;limit(f,x,inf)4syms x y mf=sqrt(x+sqrt(x+sqrt(x)));m=diff(f,'x')diff(m,'x')syms x y;f=x+y-sqrt(x^2+y^2);z1=diff(f,x)z2=diff(f,y)5syms x y;f=x+y-sqrt(x^2+y^2);z1=diff(f,x)z2=diff(f,y)sym x;f=1/(asin(x)^2*(1-x^2)^(1/2));int(f)6syms xf=1/(1+x);int(f,0,4)sym x;f=x^3*sin(x)^2/(x^6+2*x^4+1);int(f,-1,1)sym x;f=x^3*sin(x)^2/(x^6+2*x^4+1);int(f,-1,1)7syms ns=symsum(1/4^n,1,inf)sym n;s=symsum(((n+1)/n)^(1/2),1,inf)eval(y)8syms xf=tan(x);taylor(f,x,3,0)syms xf=sin(x)^2;taylor(f,x,5,0)9syms xx=solve('log(1+x)-5/(1+sin(x))=2','x')syms x y z[x yz]=solve('4*x^2/(4*x^2+1)=y','4*y^2/(4*y^2+1)=z','4*z^2/(4*z^2+1)=x', 'x','y','z')10[x ,y]=dsolve('Dx=3*x+4*y','Dy=5*x-7*y','x(0)=0','y(0)=1','t')。
(完整版)MATLAB)课后实验答案[1]
实验一 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 a z a a --+=++=--L (4) 2242011122123t t z t t t 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. 下面是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。
(3) 计算系数矩阵A 的条件数并分析结论。
解: M 文件如下: 123d4e56g9实验三 选择结构程序设计1. 求分段函数的值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
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实验报告学院:光电学院班级: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)0 122sin851ze =+(2)21ln(2z x=,其中2120.455ix+⎡⎤=⎢⎥-⎣⎦(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 +⎡⎤=⎢⎥⎣⎦。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m a t l a b选择结构程序
设计答案
实验三选择结构程序设计
一、实验目的
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 =
11
>> 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
>> aaaaa
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';
rank='wrong socre' end
rank
②>>
>> bbb
please input the score:94 rank =
A
>> bbb
please input the score:75 rank =
C
>> bbb
please input the score:-3 rank =
wrong socre
>> bbb
please input the score:456
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:- x1 =
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
>>。