matlab选择结构程序设计问题详解

合集下载

(完整版)Matlab实验5选择结构程序结构

(完整版)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) 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课后实验题答案实验一 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实验三答案详解

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

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程序结构——选择结构.

根据表达式的取值不同,分别执行不同的语句。
表达式?
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 的启动和退出,熟悉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教程实验报告实验项目名称实验一 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 工作空间的使用情况。

《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程序设计与应用(刘卫国编)课后实验答案之欧阳体创编

实验一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.5解:M文件:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1) 运算结果:z1=2*sin(85*pi/180)/(1+exp(2))x=[2 1+2*i;-.45 5];z2=1/2*log(x+sqrt(1+x^2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)t=0:0.5:2.5;z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)z1 =0.2375z2 =0.7114 - 0.0253i 0.8968 + 0.3658i0.2139 + 0.9343i 1.1541 - 0.0044iz3 =Columns 1 through 40.7388 + 3.1416i 0.7696 + 3.1416i 0.7871 + 3.1416i 0.7913 + 3.1416i Columns 5 through 80.7822 + 3.1416i 0.7602 + 3.1416i 0.7254 + 3.1416i 0.6784 + 3.1416i Columns 9 through 120.6196 + 3.1416i 0.5496 + 3.1416i 0.4688 + 3.1416i 0.3780 + 3.1416i Columns 13 through 160.2775 + 3.1416i 0.1680 + 3.1416i 0.0497 + 3.1416i -0.0771 + 3.1416i Columns 17 through 20-0.2124 + 3.1416i -0.3566 + 3.1416i -0.5104 + 3.1416i -0.6752 + 3.1416i Columns 21 through 24-0.8536 + 3.1416i -1.0497 + 3.1416i -1.2701 + 3.1416i -1.5271 + 3.1416i Columns 25 through 28-1.8436 + 3.1416i -2.2727 + 3.1416i -2.9837 + 3.1416i -37.0245Columns 29 through 32-3.0017 -2.3085 -1.8971 -1.5978Columns 33 through 36-1.3575 -1.1531 -0.9723 -0.8083Columns 37 through 40-0.6567 -0.5151 -0.3819 -0.2561Columns 41 through 44-0.1374 -0.0255 0.0792 0.1766Columns 45 through 480.2663 0.3478 0.4206 0.4841Columns 49 through 520.5379 0.5815 0.6145 0.6366Columns 53 through 560.6474 0.6470 0.6351 0.6119Columns 57 through 600.5777 0.5327 0.4774 0.4126Column 610.3388z4 =0 0.2500 0 1.2500 1.0000 2.25002. 已知:求下列表达式的值:(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]; A+6.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\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.*BA-B+eye(3)A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]ans =18 52 -1046 7 10521 53 49ans =12 31 -332 8 840 67 1ans =68 44 62309 -72 596154 -5 241ans =12 102 468 0 2619 -130 49ans =37226 233824 48604247370 149188 60076678688 454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 -134.0000 68.0000ans =109.4000 -131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 -4 1 3 -134 7 87 2 0 33 65 7 3 -2 7ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B(1) 求它们的乘积C。

实验4答案 Matlab程序设计1

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

实验一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. 已知:求下列表达式的值:(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和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 +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;输出结果:由ans,所以22E R RS A OS +⎡⎤=⎢⎥⎣⎦ 2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

为什么?解:M 文件如下:3. 建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

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程序设计

.
2
例1: 指令驱动 一行一条指令
>> x1=0:10 >> x1 =
012345678 >> x2=0:3:11 >> x2 =
0369 >> x3=11.5:-3:0 >> x3 =
11.5000 8.5000 5.5000 2.5000
9 10
.
3
命令行驱动,一行多条指令 >> x1=0:10,x2=0:3:11,x3=11.5:-3:0
.
4
② M文件模式
将matlab语句构成的程序存储成以m为扩展名的 文件,然后再执行该程序文件,这种工作模式称 为程序文件模式。
程序文件不能在命令窗口下建立,因为命令窗口 只允许一次执行一行上的一个或几个语句。
.
5
1.2 M文件
用MATLAB语言编写的程序,称为M文件。 M文件可以根据调用方式的不同分为两类:脚本文件 (命令文件)(Script File)和函数文件(Function File)
if (nargin == 1) tol = max(size(x)) * max(s) * eps;
程序部分
end
r = sum(s > tol);
.
16
(2)命令m文件建立及其运行
建立 包括以下步骤: 进入m文件编辑器 输入程序 定义文件名,保存程序
命令M文件的运行方式:
直接在命令窗口输入该文件的文件名
% K = RANK(X) is the number of singular values of X
% that are larger than MAX(SIZE(X)) * NORM(X) * EPS.

实验三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 结构体设计-回复Matlab结构体设计在Matlab中,结构体是一种灵活且强大的数据类型。

它允许用户将不同类型的数据组织在一起,并可以使用结构体的字段来访问和操作这些数据。

在本文中,我们将详细介绍Matlab结构体的设计和使用方法。

1. 什么是结构体?结构体是一种用于组织和存储不同类型数据的容器。

它由多个字段组成,每个字段可以是Matlab中的任意数据类型,例如数值、字符、逻辑等。

与数组不同,结构体的每个字段是可以被命名和独立访问的,这使得结构体非常适合存储和处理复杂的数据。

2. 如何创建结构体?在Matlab中,可以使用struct()函数来创建一个空的结构体,如下所示:myStruct = struct;也可以在创建结构体时指定字段的值,比如:myStruct = struct('field1', value1, 'field2', value2, ...);3. 如何访问结构体的字段?结构体的字段可以使用点操作符(.)进行访问。

例如,如果我们有一个字段名为'field1'的结构体字段,可以使用以下代码访问该字段的值:myValue = myStruct.field1;4. 如何修改结构体的字段值?结构体的字段可以使用赋值操作符(=)来修改。

例如,如果我们想将结构体中字段名为'field1'的字段的值修改为newValue,可以使用以下代码:myStruct.field1 = newValue;5. 如何增加和删除结构体的字段?可以使用赋值操作符(=)来增加新的结构体字段。

例如,假设我们已经创建了一个空的结构体myStruct,可以通过以下代码将字段名为'field1'的字段添加到结构体中:myStruct.field1 = value1;要删除结构体的字段,可以使用rmfield()函数。

例如,如果我们想删除结构体myStruct中的字段名为'field1'的字段,可以使用以下代码:myStruct = rmfield(myStruct,'field1');6. 如何使用结构体数组?与普通数组类似,结构体也可以以数组的形式存在。

matlab 结构体设计 -回复

matlab 结构体设计 -回复

matlab 结构体设计-回复什么是MATLAB结构体?在MATLAB中,结构体(Struct)是一种用于存储和组织多个不同类型的数据的数据结构。

它允许用户将相关数据封装在一个容器中,以便更方便地访问和操作这些数据。

结构体是一种非常有用的数据类型,特别适合表示具有不同属性和字段的实物或实体。

如何创建MATLAB结构体?要创建一个MATLAB结构体,可以使用以下语法:matlab变量名称.字段名称= 值;其中,变量名称是结构体的名称,字段名称是结构体中的一个属性或字段的名称,值是该属性或字段所对应的具体值。

可以使用“.”操作符来访问结构体中的字段,并为其赋值。

例如,我们要创建一个表示学生信息的结构体,包括姓名、年龄和成绩三个字段,可以使用如下代码:matlab = 'John';student.age = 20;student.grade = 85;这样就创建了一个名为student的结构体,并为其三个字段赋了相应的值。

如何访问MATLAB结构体的字段?访问MATLAB结构体的字段时,可以使用类似于访问结构体的赋值语句一样的语法:matlab值= 变量名称.字段名称;其中,变量名称是结构体名称,字段名称是要访问的属性或字段的名称,值将取得该属性或字段的值。

继续以上面创建的学生信息结构体为例,如果要获取学生的姓名,可以使用如下代码:matlabname = ;这将把变量name赋值为'John',即学生的姓名。

如何修改MATLAB结构体的字段?要修改MATLAB结构体的字段,可以使用与访问字段相同的语法,将新的值赋给该字段即可。

继续以上面的学生信息结构体为例,如果要修改学生的年龄为22岁,可以使用如下代码:matlabstudent.age = 22;这样就将学生的年龄从20修改为了22。

MATLAB结构体的嵌套和数组MATLAB结构体可以嵌套在其他结构体中,并且还可以包含数组。

MATLAB_分支结构程序设计答案

MATLAB_分支结构程序设计答案

MATLAB分支结构程序设计一、实验目的1.理解MATLAB的编程方法2.掌握if语句和switch语句的使用3. 掌握分支结构程序设计方法4. 通过练习理解MATLAB编程方法和分支结构程序设计方法。

二、实验环境1.计算机2.MATLAB7.0集成环境三、实验说明1.熟练操作MATLAB7.0运行环境2.自主编写程序,必要时参考相关资料3.实验前应写出程序大致框架或完整的程序代码5.实验学时:2学时四、实验内容和步骤1.实验内容(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输入成绩56a =56E 成绩合理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输入成绩78a =78C 成绩合理2.实验步骤(1)分析实验内容,写出程序大致框架或完整的程序代码。

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

相关文档
最新文档