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 运算基础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)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]
![(完整版)MATLAB)课后实验答案[1]](https://img.taocdn.com/s3/m/306ff29b690203d8ce2f0066f5335a8102d266cb.png)
(完整版)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 az 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 分别为单位矩阵、随机矩阵、零矩阵和对⾓阵,试通过数值计算验证2 2E 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 值。
解:M ⽂件如下:2. 输⼊⼀个百分制成绩,要求输出成绩等级A、B、C、D、E。
matlab实验内容答案

m a t l a b实验内容答案(总16页) -本页仅作为预览文档封面,使用时请删除本页-实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。
第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。
2.熟悉MATLAB 命令窗口的组成。
3.掌握建立矩阵的方法。
4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。
二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1)22sin8511z e ︒=+ (2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。
(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0::提示:用逻辑表达式求分段函数值。
2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(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 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D(3) 查看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程序设计与应用课后实验答案

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 运算基础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-第六次实验

x、y、z 都是矩阵时,plot3 命令的使用
[X,Y]=meshgrid(-pi:0.1:pi); Z=sin(X)+cos(Y); plot3(X,Y,Z)
MATLAB基础
5.4 三维图形绘制与复数的图形绘制
g.绘制三维圆柱曲面命令cylinder
cylinder命令中,柱面的轴线定义为 z 轴,只要给出母线的描述就可完成一个柱面。 调用格式为: [X,Y,Z] = cylinder(R,N); [X,Y,Z] = cylinder(R):缺省值 N=20; [X,Y,Z] = cylinder:缺省值 N=20,R=[1,1]。 R:是一描述柱面母线的向量; N:是旋转柱面上的分割线条数;
MATLAB基础
已知系统传递函数
n Y(S) 100 G(S) 2 2 X(S) S 10 S 100 S 2 n S n 2
2
,其中:
0.5 n 10rad / s
在输入信号x(t)=1(即单位阶跃信号),要求建立M文件,画出输出 信号y(t)(即单位阶跃响应)的图象, MATLAB程序如下: G=tf([100],[1,10,100]); %得到传递函数G(S) t=0:0.05:3; %时间t设在0—3秒间,运算间隔0.05秒 y=step(G,t); %得到单位阶跃响应y(t) plot(t,y,'-k'); %绘制出y(t) 图象 xlabel('t'); %横坐标轴标号为t ylabel('y(t)'); %纵坐标轴标号为y(t) grid %绘制出栅格以便于读取数值
MATLAB基础
计算积分
7
int(f,v,a,b): 计算定积分 int(f,a,b): 计算关于默认变量的定积分 int(f,v): 计算不定积分 int(f): 计算关于默认变量的不定积分
MATLAB实验六(精品)

第二节 逐点比较法逐点比较法的基本原理是,在刀具按要求轨迹运动加工零件轮廓的过程中,不断比较刀具与被加工零件轮廓之间的相对位置,并根据比较结果决定下一步的进给方向,使刀具沿着坐标轴向减小偏差的方向进给,且只有一个方向的进给。
也就是说,逐点比较法每一步均要比较加工点瞬时坐标与规定零件轮廓之间的距离,依此决定下一步的走向,如果加工点走到轮廓外面去了,则下一步要朝着轮廓内部走;如果加工点处在轮廓的内部, 则下一步要向轮廓外面走,以缩小偏差,周而复始,直至全部结束,从而获得一个非常接近于数控加工程序规定轮廓的刀具中心轨迹。
逐点比较法既可实现直线插补,也可实现圆弧插补。
其特点是运算简单直观,插补过程的最大误差不超过一个脉冲当量,输出脉冲均匀,而且输出脉冲速度变化小,调节方便,但不易实现两坐标以上的联动插补。
因此,在两坐标数控机床中应用较为普遍。
一般来讲,逐点比较法插补过程每一步都要经过如图3-1所示的四个工作节拍:(1)偏差判别 判别刀具当前位置相对于给定轮廓的偏差情况,即通过偏差值符号确定加工点处在理想轮廓的哪一侧,并以此决定刀具进给方向。
(2)坐标进给 根据偏差判别结果,控制相应坐标轴进给一步,使加工点向理想轮廓靠拢,从而减小其间的偏差。
(3)偏差计算 刀具进给一步后,针对新的加工点计算出能反映其偏离理想轮廓的新偏差,为下一步偏差判别提供依据。
(4)终点判别 每进给一步后都要判别刀具是否达到被加工零件轮廓的终点,若到达了则结束插补,否则继续重复上述四个节拍的工作,直至终点为止。
一、逐点比较法I 象限直线插补(一)基本原理设第一象限直线OE ,起点为坐标原点O(0,0),终点为E (X e ,Y e ),另有一个动点为N (X i ,Y i ),如图3-2所示。
其中,各个坐标值均是以脉冲当量为单位的整数,以便于后面的推导与讲解,并且在脉冲增量式插补算法中都是这样约定的。
ee i i X Y X Y = (3-1a ) 即 X e Y i —X i Y e =0 (3-1b ) 当动点N 处于直线OE 的下方N ′处时,直线N O '的斜率小于直线OE 的斜率,从而有ii X Y <e e X Y (3-2a )即 X e Y i —X i Y e <0 (3-2b ) 当动点N 处于直线OE 的上方N ″处时,直线N O ''的斜率大于直线OE 的斜率,从而有ee i i X Y X Y > (3-3a ) 即 X e Y i —X i Y e >0 (3-3b ) 由上述关系可以看出,表达式(X e Y i —X i Y e )的符号就能反映出动点N 相对直线OE 的偏离情况,为此取偏差函数F 为F =X e Y i —X i Y e (3-4)根据上述过程可以概括出如下关系:当F =0时,动点N (X i ,Y i )正好处在直线OE 上;当F >0时,动点N (X i ,Y i )落在直线OE 上方区域;当F <0时,动点N (X i ,Y i )落在直线OE 下方区域。
MATLAB)课后实验答案[1](最新整理)
](https://img.taocdn.com/s3/m/2bd1298ccf84b9d529ea7a94.png)
5. 下面是一个线性方程组:
1112340.95x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥
实验三 选择结构程序设计
1. 求分段函数的值。
222603560523
1x 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 值。
解: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) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
解:M文件如下
3. 硅谷公司员工的工资计算方法如下:
(1) 工作时数超过120小时者,超过部分加发15%。
(2) 工作时数低于60小时者,扣发700元。
(3) 其余按每小时84元计发。
试编程按输入的工号和该号员工的工时数,计算应发工资。
解:M文件下
运算结果如下;
5. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。
例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。
求[2,50]区间内:
(1) 亲密数对的对数。
(2) 与上述亲密数对对应的所有亲密素数之和。
解:
M文件:。
(完整版)MATLAB)课后实验答案[1]
![(完整版)MATLAB)课后实验答案[1]](https://img.taocdn.com/s3/m/d27ebaa958fb770bf78a55b8.png)
实验一 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 值。
循环结构程序设计课后习题及答案

循环结构程序设计习题及答案1、循环语句的三要素分别是、、;2、for语句括号内的3个表达式的作用分别是、、;3、在2层循环嵌套中,外层循环语句的每个执行周期中,内层循环语句都要完整地,只有当时,才结束整个循环;4、在循环结构中,break语句的作用是;continue语句的作用是;5、当循环条件一开始就为假时,对于while语句、do…while语句、for语句,分别执行循环体次、次、次;6、下面程序段的执行次数:int a=0;whilea=0{ printf"good\n";a--;}7、下面程序段的执行次数:int a=0;whilea==0{ printf"good\n";a--;}8、下面程序段的执行次数:int a=1;whilea=1{ printf"good\n";a++;}9、下面程序段的执行次数:int a=1;whilea==1{ printf"good\n";a++;}10、下列程序段的运行结果是;fori=5;i>=0;i--printf“%d “,i;11、下列程序段的运行结果是;forn=1;n<20;n=n+3printf“%d “,n;12、下列程序段的运行结果是;for ch='a' ;ch<='e' ;ch++printf“%d“,ch-97;13、下列程序段的运行结果是;fori=1,j=5 ; i<j ; i++,j--printf“i=%d j=%d\n“,i,j;14、下列程序段的运行结果是;forn=1 ; nn<20 ; n++printf“%d \n“,n+n;二、选择题1、下列程序段中,死循环的是A、for i=1; ;B、i=32767;{ if++i%2==0 continue; doif++i%3==0 break; { ifi<0 break;} }while++i;C、i=1;D、fori=1; ;whilei--; if++i<10 break;2、下列程序段中,不是死循环的是A、int i=10;B、for ; 1;while1{ i=i%100+1;ifi>100 break;}C、int a=0;D、int x=21;do whilex{ ++a; --x;}whilea>=0;三、阅读程序,写出程序运行结果;1、include"stdio.h"main{int i=0,sum=1;do{sum+=i;i++;}whilei<5;printf"%d\n",sum;}程序运行结果:2、include"stdio.h"main{int a,b;b=10;a=1;whilea<=ba=2;printf"%d\n",a;}程序运行结果:3、include"stdio.h"main{int x=2;whilex--;printf"%d\n",x;}程序运行结果:4、include"stdio.h"main{int x=3;do{printf"%d\n",x-=2;}whilex;}程序运行结果:5、include"stdio.h"main{int i;fori=1;i<=5;i++switchi%5{case 0:printf"";break;case 1:printf"";break;case 2:printf"&";break;default:printf"\n";}}程序运行结果:6、include"stdio.h"main{char ch;whilech=getchar=''putchar++ch;}程序运行结果:7、include"stdio.h"main{int i,j;fori=0;i<=5;i++{forj=1;j<10;j++ifj==5 break;ifi<2 continue;ifi>2 break;printf"j=%d\n",j;}printf"i=%d\n",i;}程序运行结果:8、include"stdio.h"main{int x ,y;x=37,y=13;whilex=y{ifx>yx=x-y;ify>xy=y-x;}printf"x=%d\n",x;}程序运行结果:四、编程题1、输出下列图案12 43 6 94 8 12 165 10 15 20 252、输出下列图案3、编程求2-4+6-8+…-100+102的值;4、输出公元1500年至2500年所有的闰年的年号;5、从键盘上输入若干学生的C语言成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入;循环结构程序设计参考答案一、填空题、1.循环条件循环体循环控制变量2.循环变量赋初值循环测试条件循环变量更新3.执行整个周期外层循环条件为假4.提前结束包含它的循环语句的执行提前结束本次循环周期开始执行下一次循环周期5.0 1 06.07. 18.无数9. 110.5432111.147****161912.0123413.I=1,j=5I=2,j=414.14916二、选择题1. B2. D三、程序运行结果1.112.163.-14.15.&6.bgufsoppo7.i=5J=38.x=1四、编程题1.include"stdio.h"main{int i,j;fori=1;i<=5;i++{forj=1;j<=i;j++printf"%d ",ij;printf"\n";}}2.include"stdio.h"main{int i,j;fori=5;i>=1;i-=2{forj=1;j<=i;j++printf"";printf"\n";}}3.include"stdio.h"main{int i,y=1,s=0;fori=2;i<=102;i+=2{ s=s+yi;y=-1; y=-y; }printf"2-4+6+...-100+102=%d",y;}4.include"stdio.h"main{int i;fori=1500;i<=2500;i++ifi%4==0&&i%100=0||i%400==0printf"%d ",i;}5.include"stdio.h"main{float cj,min,max=0;printf"请输入学生成绩,输入负数时结束:\n";scanf"%f",&cj;min=cj;whilecj>=0{ifcj>maxmax=cj;ifcj<minmin=cj;scanf"%f",&cj;}printf"max=%f\nmin=%f",max,min; }。
MATLAB程序设计与应用(第二版)实验参考答案

MATLAB程序设计与应用(第二版)实验参考答案%实验一MATLAB运算基础%第一题ftp://192.168.0.143/%(1)z1=2*sin(85*pi/180)/(1+exp(2))ftp://192.168.0.143/%(2)x=[2,1+2i;-0.45,5];z2=0.5*log(x+sqrt(1+x.^2))ftp://192.168.0.143/%(3)a=-3.0:0.1:3.0;ftp://192.168.0.143/z3=(exp(0.3*a)-exp(-0.3*a))/2.*sin(a+0.3)+log((0.3+a)/2)%(4)t=0:0.5:2.5;z4=t.^2.*(t>=0&t<1)+(t.^2-1).*(t>=1&t<2)+(t.^2-2*t+1).*(t>=2&t<3)%第二题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(size(A))A*BA.*BA^3A.^3A/BB\A[A,B][A([1,3],:);B^2]%第三题A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25] B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]C=A*BF=size(C)D=C(F(1)-2:F(1),F(2)-1:F(2))whos%第四题%(1):A=100:999;B=rem(A,21);C=length(find(B==0))%(2):A='lsdhKSDLKklsdkl';k=find(A>='A'&A<='Z');A(k)=[]%实验二MATLAB矩阵分析与处理%第一题E=eye(3);R=rand(3,2);O=zeros(2,3);S=diag([2,3]);A=[E,R;O,S];A^2B=[E,(R+R*S);O,S^2]%第二题H=hilb(5)P=pascal(5)Hh=det(H)Hp=det(P)Th=cond(H)Tp=cond(P)%第三题:A=fix(10*rand(5))H=det(A)Trace=trace(A)Rank=rank(A)Norm=norm(A)%第四题:A=[-29,6,18;20,5,12;-8,8,5][V,D]=eig(A)%数学意义略%第五题方法一:%(1):A=[1/2,1/3,1/4;1/3,1/4,1/5;1/4,1/5,1/6]; b=[0.95,0.67,0.52]';x=inv(A)*b%(2):B=[0.95,0.67,0.53]';x=inv(A)*B%(3):cond(A)%第五题方法二:A=hilb(4)A(:,1)=[]A(4,:)=[]B=[0.95,0.67,0.52]';X=inv(A)*BB1=[0.95,0.67,0.53]';X1=inv(A)*B1N=cond(B)N1=cond(B1)Na=cond(A) %矩阵A为病态矩阵%第六题A=[1,4,9;16,25,36;49,64,81]B=sqrtm(A)C=sqrt(A) %sqrtm函数是以矩阵为单位进行计算,sqrt函数是以矩阵中的元素进行计算%实验三选择程序结构设计%第一题程序一x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0];y=[]; %建立存放所有y值的矩阵for x0=xif x0<0&x0~=-3y=[y,x0*x0+x0-6];elseif x0>=0&x0<5&x0~=2&x0~=3y=[y,x0*x0-5*x0+6];elsey=[y,x0*x0-x0-1];endendx %输出所有xy %输出所有y%第一题程序二x=[-5,-3,1,2,2.5,3,5];y=[];for a=1:7if x(a)<0&x(a)~=-3y=[y,(x(a))^2+x(a)-6];elseif x(a)>=0&x(a)<5&x(a)~=2&x(a)~=3y=[y,(x(a))^2-5*x(a)+6];elsey=[y,x(a)*x(a)-x(a)-1];endend%第二题程序一:x=input('请输入一个百分制成绩:');if x>100|x<0disp('您输入的成绩不是百分制成绩,请重新输入。
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 的特征值及特征向量,并分析其数学意义。
运行截图:。
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 运算基础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: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循环结构程序设计

实验四循环结构程序设计一、实验目的1.掌握利用for语句实现循环结构的方法。
2.掌握利用while语句实现循环结构的方法。
3.熟悉利用向量运算来代替循环操作的方法。
二、实验内容1. 根据pi*pi/6=1/1^2+1/2^2+1/3^2+……+1/n^2,求pi的近似值。
当n分别取100,1000,10000时,结果是多少?2. 根据y=1+1/3+1/5+……+1/(2n-1),求(1)y<3时的最大n值(2)与(1)的n值对应的y值4. 已知{f1=1,n=1;f2=0,n=2;f3=1,n=3;fn=fn-1-2fn-2+fn-3,n>3求f1-f100中(1)最大值,最小值,各数之和。
(2)正数,零、负数的个数。
三、实验步骤(程序和结果)1. 方法1:y=0;n=100;>> for i=1:ny=y+1/i/i;end>> yy =1.6350>> pi=sqrt(6*y)pi =3.1321y=0;n=1000;for i=1:ny=y+1/i/i;end>> yy =1.6439pi=sqrt(6*y)pi =3.1406y=0;n=10000;>> for i=1:ny=y+1/i/i;end>> yy =1.6448pi=sqrt(6*y)pi =3.1415方法2:n=100;i=1:n; >> f=1./i.^2;>> y=sum(f)y =1.6350>> pi=sqrt(6*y)pi =3.1321n=1000;i=1:n;>> f=1./i.^2;>> y=sum(f)y =1.6439>> pi=sqrt(6*y)pi =3.1406y=0;n=10000;for i=1:ny=y+1/i/i;end>> yy =1.6448pi=sqrt(6*y)pi =3.14152.(1)y=0;n=0;while(y<3)n=n+1y=1./2*n-1;endnn=8(2)y=0;n=8;y=1./2*n-1;yy=34.四、思考题1. 你认为第1题用sum函数、for语句、while语句这三种方法哪种设计程序更为方便? Sum函数最方便。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.实验五循环结构程序设计实验内容
(1)编写程序实现求两矩阵A*B,A.*B.
A*B
>> A=input('输入矩阵A:');
B=input('输入矩阵B:');
C=zeros(size(A,1),size(B,2));
for ii=1:size(A,1)
for jj=1:size(B,2)
for k=1:size(A,2)
C(ii,jj)=C(ii,jj)+A(ii,k)*B(k,jj);
end
end
end
C
输入矩阵A:[1 2;3 4]
输入矩阵B:[5 6;7 8]
C =
19 22
43 50
A.*B
>> A=input('请输入矩阵A:');
B=input('请输入矩阵B:');
if size(A)==size(B)
[m,n]=size(A);
for i=1:m
for j=1:n
C(i,j)=A(i,j)*B(i,j);
end
end
disp('输出A.*B:')
C
else
disp('无效')
end
请输入矩阵A:[1 2 3]
请输入矩阵B:[4 5 6]
输出A.*B:
C =
4 10 18
(2)编写程序实现求矩阵的转置。
>> A=input('请输入矩阵A:');
[m,n]=size(A);
B=zeros(n,m);
for i=1:m;
for j=1:n;
B(i,j)=A(j,i);
end
end
disp(B)
请输入矩阵A:[1 2 3;4 5 6;7 8 9]
1 4 7
2 5 8
3 6 9
小结实验心得体会
通过本次实验,我慢慢理解了循环控制结构的执行过程,掌握了一些循环结构程序设计方法,但还不是很熟练。
我了解了一些MATLAB的编程方法和循环结构程序设计方法,但都不是特别的熟练,都有待加强。