Matlab 实验五 分支结构程序设计答案

合集下载

实验五 顺序、分支结构程序设计

实验五 顺序、分支结构程序设计

AX=13F8_BX=0000_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0 000_ DS=13E8_ES=13E8_SS=13F8_CS=13F9_IP=0003_NV_UP_EI_PL_NZNAPO_ NC_ 13F9:0003_8ED8_ MOV_DS,AX_ 一_T_ AX=13F8_BX=0000_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0 000 DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0005_NV_UP_EI_PL_NZNAPO_N C_ 13F9:0005_8B1E0000_ MOV_BX,[0000]_ DS:0000=0006_ 一 _T_ AX=13F8_BX=0006_CX=002FDX=0000_SP=0000_BP=0000_SI=0000_DI=0 000_ DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=0009_NV_UP_EI_PL_NZNAPO_N C_ 13F9:0009_031E0200_ ADD_BX,[0002]_ DS:0002=0007_ 一 _T_ AX=13F8_BX=000D_CX=002F_DX=0000_SP=0000_BP=0000_SI=0000_DI= 0000_ DS=13F8_ES=13E8SS=13F8_CS=13F9_IP=000D_NV_UP_EI_PL_NZNAPO_N C_ 13F9:000D_B103_ MOV_CL,03_ 一_T_
2.分支结构 程序中出现二中选一的分支称为二路分支,三中选一的分支称为三路 分支,还有四中选一,N 中选一称为多路分支。实现分支的要素有两 点: (1)使用能影响状态标志的指令,如算术逻辑运算类指令、移位指 令和位测试指令等,将状态标志设置为能正确反映条件成立与否的状 态。 (2)使用条件转移类指令对状态位进行测试判断,确定程序如何转 移,形成分支。 实验内容与步骤 1. 已知字节变量 X,Y 存放于 VARX,VARY 存储单元中, 利用公式 求 Z的值,并将结果存放于 RESULT 存储单元中。公式:Z=((X+Y)*8-X)/2 。 参考程序如下:(程序名:SY5-1.ASM) data SEGMENT varx DW 0006h vary DW 0007h result DW ? data ENDS code SEGMENT ASSUME CS:code,DS:data start: MOV AX,data MOV DS,AX

MATLAB全部实验及答案

MATLAB全部实验及答案

MATLAB全部实验及答案实验一、MATLAB基本操作实验内容及步骤4、有关向量、矩阵或数组的一些运算(1)设A=15;B=20;求C=A+B与c=a+b?(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?A*B就是线代里面的矩阵相乘 A.*B是对应位置的元素相乘(3)设a=10,b=20;求i=a/b=0.5与j=a\b=2?(4)设a=[1 -2 3;4 5 -4;5 -6 7]请设计出程序,分别找出小于0的矩阵元素及其位置(单下标、全下标的形式),并将其单下标转换成全下标。

clear,clca=[1 -2 3;4 5 -4;5 -6 7];[x,y]=find(a<0);c=[];for i=1:length(x)c(i,1)=a(x(i),y(i));c(i,2)=x(i);c(i,3)=y(i);c(i,4)=(y(i)-1)*size(a,2)+x(i);endc(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?前面那个是虚数矩阵,后面那个出错(6)请写出完成下列计算的指令:a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?a^2= 22 16 1625 26 2326 24 28a.^2=1 4 99 16 425 4 9(7)有一段指令如下,请思考并说明运行结果及其原因clearX=[1 2;8 9;3 6];X( : ) 转化为列向量(8)使用三元组方法,创建下列稀疏矩阵2 0 8 00 0 0 10 4 0 06 0 0 0方法一:clear,clcdata=[2 8 1 4 6];ir=[1 1 2 3 4 ];jc=[1 3 4 2 1];s=sparse(ir,jc,data,4,4);full(s)方法二:不用三元组法clear,clca=zeros(4,4);a(1,[1,3])=[2,8];a(2,4)=1;a(3,2)=4;a(4,1)=6;a(9) 写出下列指令的运行结果>> A = [ 1 2 3 ]; B = [ 4 5 6 ];>> C = 3.^A>> D = A.^B5、 已知⎪⎭⎫⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。

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

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

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)课后实验答案

实验一 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实验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)课后实验答案-精简版实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。

(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.022aaee 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 为单位矩阵)(3) A^3和A.^3(4) A/B及B\A(5) [A,B]和[A([1,3],:);B^2]3. 设有矩阵A 和B 123453 0166789101769,1112 1314150234 1617181920970212223242541311A B ??-?==-?(1) 求它们的乘积C 。

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

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

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

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

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

解: M 文件如下;输出结果:S =1 0 02 A =1.0000 0 0 0.5383 0.4427 0 1.0000 0 0.9961 0.1067 0 0 1.0000 0.0782 0.9619 0 0 0 1.0000 0 0 0 0 02.0000 a =1.0000 0 0 1.0767 1.3280 0 1.0000 0 1.9923 0.3200 0 0 1.0000 0.15642.8857 0 0 0 1.0000 0 0 0 0 0 4.0000 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,所以22E R R S A O S +??=?2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

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 = 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 0.5383 0.9961 0.0782 1.0000 0 0.4427 0.1067 0.9619 0 2.0000
a = 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 1.0767 1.9923 0.1564 1.0000 0 1.3280 0.3200 2.8857 0 4.0000
P= 1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 1 5 15 35
1
5
15
35Βιβλιοθήκη 70Hh = 3.7493e-012
Hp = 1
Th = 4.7661e+005
Tp = 8.5175e+003 因为它们的条件数 Th>>Tp,所以 pascal 矩阵性能更好。 3. 建立一个 5×5 矩阵,求它的行列式值、迹、秩和范数。 解: M 文件如下:
实验一
MATLAB 运算基础
1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情 况并保存全部变量。 (1) z1
2sin 850 1 e2
1 2
1 2i 2 5 0.45
(2) z2 ln( x 1 x 2 ) ,其中 x (3) z3
用 if 语句实现,分别输出 x=-5.0,-3.0,1.0,2.0,2.5,3.0,5.0 时的 y 值。 解:M 文件如下:
运算结果有: f(-5) y= 14 >> f(-3)
y= 11 >> f(1) y= 2 >> f(2) y= 1 >> f(2.5) y= -0.2500 >> f(3) y= 5 >> f(5) y= 19

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:: 解: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)ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

matlab实验五答案

matlab实验五答案

matlab实验五答案实验五1、编写程序,该程序在同⼀窗⼝中绘制函数在[]0,2π之间的正弦曲线和余弦曲线,步长为200/π,线宽为 2 个象素,正弦曲线设置为蓝⾊实线,余弦曲线颜⾊设置为红⾊虚线,两条曲线交点处,⽤红⾊星号标记并标注sin(x)=cos(x);通过函数⽅式在⽣成的图形中添加注释,⾄少应包括:标题,⽂本注释,图例和坐标轴标注。

%x=linspace(0,2*pi,1000); x=[0:pi/200:2*pi] sinx = sin(x); cosx = cos(x);k=find(abs(sinx-cosx)<1e-2); x1=x(k);plot(x,sinx,'LineWidth',2)hold on ,plot(x,cosx,'r:','LineWidth',2) hold on ,plot(x1,sin(x1),'r*') xlabel('x:(0-2\pi)'); ylabel('y:sin(x)/cos(x)');title('正弦-余弦曲线');text(x1+0.1,sin(x1),'sin(x)=cos(x)'); legend('sin(x)','cos(x)');x:(0-2π)y :s i n (x )/c o s (x )正弦-余弦曲线2、绘制图像:双曲抛物⾯:22164x y z =-,1616x -<<,44y -<<,并对绘制的双曲抛物⾯尝试进⾏视点控制。

[X,Y] = meshgrid(-16:0.4:16,-4:0.1:4); Z = X.^2/16 - Y.^2/4;subplot(1,3,1),plot3(X,Y,Z),view(0,180),title('azimuth = 0,elevation = 180');subplot(1,3,2),plot3(X,Y,Z),view(-37.5,-30),title('azimuth =-37.5,elevation = -30');subplot(1,3,3),plot3(X,Y,Z),view([3,3,2]),title('viewpoint=[3,3,1]');3、>> y=[3 6 9 6;6 7 7 4;7 3 2 3;4 2 5 2;2 4 8 7;8 7 4 4]; >> bar(y)>> bar(y ,’stack’)4、某次考试优秀、良好、中等、及格和不及格的⼈数分别为7、17、23、19和5,,绘制饼图进⾏成绩统计分析并将优秀成绩分离出来。

实验五 matlab基础知识(简单)

实验五 matlab基础知识(简单)

本次实验注意:《实验五MALTAB基础知识(简单)》《实验五基于Matlab的信号频谱分析(复杂)》选作一个即可实验五MALTAB基础知识(一)实验目的 (2)(二)实验设备 (2)(三)实验要求 (2)(四)实验内容 (2)1.1 MATLAB基础知识 (2)1.1.1 MATLAB程序设计语言简介 (2)1.1.2 MA TLAB界面及帮助 (2)1.2 MA TLAB基本运算 (4)1.2.1 MA TLAB内部特殊变量和常数 (4)1.2.2 变量类型 (4)1.2.3 内存变量管理 (5)1.2.4 MA TLAB常用数学函数 (5)1.2.5 MA TLAB矩阵生成 (5)1.2.6 MA TLAB矩阵运算 (8)1.2.7 MA TLAB中的矩阵分析 (10)1.3 MA TLAB程序设计 (10)1.3.1 M文件 (10)1.3.2 程序控制结构 (12)实验五MALTAB基础知识(一)实验目的●了解MA TLAB 程序设计语言的基本特点,熟悉MA TLAB软件运行环境●掌握创建、保存、打开m文件及函数的方法●掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进行处理的能力(二)实验设备计算机,Matlab软件(三)实验要求本实验属于验证实验,请根据(四)实验内容的步骤,运行相应的指令或例子,并将仿真结果截图至文档(请自己新建一个word文档,注意,并不一定所有指令或例子的实验结果都要截图,截图数目大于等于5个即可,自己选择性截图,答案不唯一,自由发挥)请在页眉处填写班级、学号、姓名,并将实验报告命名为“实验五_学号_姓名”,并通过FTP上传至指定文件夹。

(四)实验内容1.1 MATLAB基础知识1.1.1 MATLAB程序设计语言简介MA TLAB,Matrix Laboratory的缩写,是由MathWorks公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。

(完整版)MATLAB)课后实验答案[1]

(完整版)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程序设计专业:信息与计算科学班级:1001班学号:1008060129姓名:刘仲能2012年6月27日实验一2.已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=76538773443412A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=723302131B 求下列表达式的值:(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 ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=25242322212019181716151413121110987654321A ,⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=11134079423096171603B (1) 求它们的乘积C 。

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

(3) 查看MATLAB 工作空间的使用情况(1) (2)(3)4.完成下列操作(1)求[100,999]之间能被21整除的数的个数。

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

(1)(2)实验二3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。

运行截图:A 矩阵的行列式值、迹、秩分别如下:范数如下:4.已知 ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=5881252018629A 求A 的特征值及特征向量,并分析其数学意义。

运行截图:5.下面是一个线性方程组:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡52.067.095.06/15/14/15/14/13/14/13/12/1321x x x (1) 求方程的解; (2) 将方程右边向量元素改为0.53,在求解,并比较的变化和解的相对变化;(3) 计算系数矩阵A 的条件数并分析结论。

(2) 变大,其解中,相对未变化前的的解:x1变大,x2变小,x3变大。

(3)由于A 矩阵的条件数很大,故当线性方程组中的b 变大时,x 也将发生很大的变化,即数值稳定性较差。

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

实验五MATLAB的程序设计一、实验目的1.熟悉MATLAB 的编程环境;2.熟悉和掌握脚本文件和函数文件建立与使用方法;3.掌握MATLAB程序设计的流程控制语句;4.掌握函数调用和参数传递;5.熟悉MATLAB 程序调试方法。

二、实验仪器1.计算机2.MATLAB 软件环境三、实验指导1. M 文本文件介绍一个M 文件通常包含五个部分,函数定义语句、H1 帮助行、帮助文本、函数体或者脚本文件语句和注释语句。

一个完整的M 文件的结构为:function f = fact(n) 函数定义语句% Compute a factorial value. H1 行% FACT(N) returns the factorial of N, 帮助文本% usually denoted by N!% Put simply, FACT(N) is PROD(1:N). 注释语句f = prod(1:n); 函数体函数定义语句只在函数文件中存在,定义函数名称、输入输出参数的数量和顺序。

函数定义语句的格式为:function y = fact(x)2. 函数流程控制顺序结构顺序结构是最简单的程序结构,系统在编译程序时,按照程序的物理位置顺序执行。

这种程序容易编制,但是结构单一,能够实现的功能有限。

判断语句(if…else…end)if…endif…else…endif…elseif…else…end1)if…end此时的程序结构如下:if 表达式执行代码块end这是最简单的判断语句,只有一个判断语句,其中的表达式为逻辑表达式,当表达式为真时,执行相应的语句,否则,直接跳到下一段语句。

2)if…else…end当程序有两个选择时,可以选择if…else…end 结构,此时程序结构为:if 表达式执行代码块1else执行代码块2end当判断表达式为真时,执行代码块1,否则执行代码块2。

3)if…elseif…else…end上面的两种形式中,分别包含一个选择和两个选择,当判断包含多个选择时,可以采用elseif 语句,结构为:if 表达式1执行代码块1elseif 表达式2执行代码块2elseif ..................else执行代码块end其中可以包含任意多个elseif 语句。

Matlab实验五分支结构程序设计答案

Matlab实验五分支结构程序设计答案

实验五分支结构程序设计实验内容(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输入成绩98a =98A 成绩合理>> 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输入成绩148a =148成绩错误switch语句>> a=input('输入成绩')switch a;case num2cell(70:79)disp('C 成绩合理');case num2cell(80:89)disp('B 成绩合理');case num2cell(90:100)disp('A 成绩合理');otherwisedisp('成绩错误');end输入成绩98a =98A 成绩合理>> a=input('输入成绩')switch a;case num2cell(0:59)disp('E 成绩合理');case num2cell(60:69)disp('D 成绩合理');case num2cell(70:79)case num2cell(80:89)disp('B 成绩合理'); case num2cell(90:100)otherwisedisp('成绩错误');end输入成绩148a =148成绩错误小结实验心得体会通过本次实验,我慢慢把握了点if语句和switch语句的利用,了解了分支结构程序设计方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五分支结构程序设计
实验内容
(1)从键盘输入一个数,将它反向输出,例如输入693,输出为396 >> clear
>> format long g
s=input('s=')
n=fix(log10(s));
A=0;
for i=1:n
a=fix(s/10^n);
x=fix(mod(s,10^i)/10.^(i-1));
A=A+x*10^(n+1-i);
end
A+a
s=693
s =
693
ans =
396
(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语句
>> 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
输入成绩98
a =
98
A 成绩合理
>> 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
输入成绩148
a =
148
成绩错误
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 成绩合理');
otherwise
disp('成绩错误');
end
输入成绩98
a =
98
A 成绩合理
>> 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 成绩合理');
otherwise
disp('成绩错误');
end
输入成绩148
a =
148
成绩错误
小结实验心得体会
通过本次实验,我逐渐掌握了点if语句和switch语句的使用,了解了分支结构程序设计方法。

因为本次实验较有难度,所以完成的不是很顺利。

在分支结构程序设计方面还有待加强。

相关文档
最新文档