Matlab实验六循环结构程序设计答案

合集下载

MATLAB上机答案

MATLAB上机答案

X
1
2
3
4
5
6
7
8
9
10
Y
16
32
70
142 260 436 682 1010 1432 1960
>> x=1:10;y=[16 32 70 142 260 436 682 1010 1432 1960];
>> p1=polyfit(x,y,1)
>>
p1 =
p2=polyfit(x,y,2),y2=polyval(p2,9.5)
0.01
0.005
0
-0.005
-0.01
-0.015
0
1
2
3
4
5
6
7
(3)大气压强 p 随高度 x 变化的理论公式为
,为验证这一公式,
测得某地大气压强随高度变化的一组数据如表所示。试用插值法和拟合法进行计算并绘图,
看那种方法较为合理,且总误差最小。
高度/m
0
300
600
1000
1500
2000
压强/Pa
equally spaced points between X1 and X2. 以 X1 为首元素,X2 为末元素平均生成 100 个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2.
ans =
pi =
ans =
5
0
3.1416
答:3 次执行的结果不一样。exist()函数是返回变量搜索顺序的一个函数。在第一次

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 +⎡⎤=⎢⎥⎣⎦。

2021年MATLAB)课后实验答案[1]

2021年MATLAB)课后实验答案[1]

实验一 MATLAB运算基础欧阳光明(2021.03.07)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解: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. 下面是一个线性方程组:(1) 求方程的解。

(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。

(3) 计算系数矩阵A 的条件数并分析结论。

解: M文件如下:实验三选择结构程序设计1. 求分段函数的值。

用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) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。

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.先求下列表达式的值,然后显示MA TLAB 工作空间的使用情况并保存全部变量。

(1)22sin8511z e ︒=+ clear ;z1=2*sin(85/180*pi)/(1+exp(2))(2)12ln(2z x =+,其中2120.455i +⎡⎤=⎢⎥-⎣⎦clear ;x=[2,1+2*i;-0.45,5];z2=log(x+sqrt(1+x^2))/2(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=--- clear ;a=(-3:0.1:3);z3=((exp(0.3*a)-exp(-0.3*a))/2).*sin(a+0.3)(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0:0.5:2.5clear for t=0:0.5:2.5 if t>=0 & t<1 z4=t^2elseif t>=1 & t<2 z4=t^2-1 else z4=t^2-2*t-1 end end 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] 。

clearA=[12,34,-4;34,7,87;3,65,7]; B=[1,3,-1;2,0,3;3,-2,7]; Z1=A+6*B I=eye(3,3) Z11=A-B+IZ21=A.*B % The second A^3 % The third A.^3A/B % The forth B\A[A,B] % The fifth [A([1,3],:);B^2] 3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。

matlab循环结构程序设计

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函数最方便。

MATLAB实验及答案详解

MATLAB实验及答案详解

>> C3
C3 =
9 22 2
8 19 -6
36 88 3
>> D1
D1 =
2 -2 3
655
16 -10 3
>> D2
D2 =
0.5000 -2.0000 0.3333
0.6667 5.0000 0.2000
1.0000 -10.0000 3.0000
>> D3
D3 =
141
4 25 1
16 100 9
5.0000 - 5.0000i 6.0000 - 6.0000i
②求矩阵的逆矩阵
>> B=[1 2;3 4];
>> B1=inv(B) 运行后显示:
B1 = -2.0000 1.0000 1.5000 -0.5000
>> B2=B^(-1) 运行后显示: B2 =
-2.0000 1.0000 1.5000 -0.5000 ③关于矩阵求幂 >>A=[1 2;3 4]; B=[ 2 1;3 2]; >>A.^B 运行后显示: ans =
>>A=[1,2,3;4,5,6] 运行后显示: A= 123 456
在命令窗口输入:
>>b=A(1,2)
运行后显示:b =2
在命令窗口输入:
>>A(2,3)=-3
运行后显示:A =
123
4 5 -3
矩阵的操作
>>A=[1,2,3;4,5,6;7,8,9]
>>B=diag(A) %X 为矩阵时,V=diag(X,k)得到列向量 V,它取自 X 的第 K 个对角

matlab实验内容答案

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 工作空间使用情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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);endendendC输入矩阵A:[1 2;3 4]输入矩阵B:[5 6;7 8]C =19 2243 50A.*B>> A=input('请输入矩阵A:');B=input('请输入矩阵B:');if size(A)==size(B)[m,n]=size(A);for i=1:mfor j=1:nC(i,j)=A(i,j)*B(i,j);endenddisp('输出A.*B:')Celsedisp('无效')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);endenddisp(B)请输入矩阵A:[1 2 3;4 5 6;7 8 9]1 4 72 5 83 6 9小结实验心得体会通过本次实验,我慢慢理解了循环控制结构的执行过程,掌握了一些循环结构程序设计方法,但还不是很熟练。

我了解了一些MATLAB的编程方法和循环结构程序设计方法,但都不是特别的熟练,都有待加强。

实验二一维二维数组的创建和寻访一、实验目的1、掌握一维数组、二维数组创建和寻访的几种方法。

2、区别数组运算和矩阵运算的差别。

3、熟悉执行数组运算的常用数组操作函数。

4、掌握数组运算中的关系和逻辑操作及常用的关系、逻辑函数。

5、掌握“非数”、“空”数组在MA TLAB中的应用。

二、实验主要仪器与设备三、预习要求做实验前必须认真复习第三章MATLAB的数值数组及向量化运算功能。

四、实验内容及实验步骤1、一维数组的创建方法有哪几种?举例说明。

答:一维数组的创建方法有:①递增/递减型一维数组的创建:冒号生成法:x=a:inc:b线性(或对数)定点法:x=linspace(a,b,n),x=logspace(a,b,n)②逐个元素输入法:如x=[0.1,sin(pi/5),-exp(-3),-2*pi]③运用MA TLAB函数生成法:例ones,rand等。

2、输入以下指令,并写出运行结果。

本例演示:数组元素及子数组的各种标识和寻访格式;冒号的使用;end的作用。

A=zeros(2,6) %创建(2×6)的全零数组A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素%赋值号右边:拥有12个元素的一维数组A(2,4) %双下标:A数组的第2行第4列元素A(8) %单下标:数组A的第8个元素A(: , [1,3]) %双下标:显示A的“第1列和第3列上全部行的元素”A([1, 2, 5, 6]') %单下标:把A数组第1,2,5,6个元素排成列向量A(: , 4:end) %双下标:显示A的“从第4起到最后一列上全部行的元素”%在此end用于“列标识”,它表示“最后一列”A(2,1:2:5)=[-1, -3, -5] %把右边的3个数分别赋向A数组第2行的第1,3,5个元素位置B=A([1, 2, 2, 2], [1, 3, 5]) %取A数组的1,3,5列的第1行元素作为B的第1行%取A数组的1,3,5列的第2行分别作为B的第2,3,4行L=A<3 %产生与A维数相同的“0,1”逻辑数组A(L)=NaN %把逻辑1标识的位置上的元素赋为“非数”运行结果:A =0 0 0 0 0 00 0 0 0 0 0A =1 3 5 7 9 112 4 6 8 10 12ans =8ans =8ans =1 52 6ans =1256ans =7 9 118 10 12A =1 3 5 7 9 11-1 4 -3 8 -5 12B =1 5 9-1 -3 -5-1 -3 -5-1 -3 -5L =1 0 0 0 0 01 0 1 0 1 0A =NaN 3 5 7 9 11NaN 4 NaN 8 NaN 123、输入以下指令,写出运行结果并说明reshape,diag,repmat,flipud,fliplr,rot90的作用。

本例演示:数组操作函数的用法;空阵[ ]删除子数组的用法。

a=1:8 %产生(1×8)一维数组A=reshape(a, 4, 2) %将一维数组a重排成(4×2)的二维数组A=reshape(A, 2, 4) %再把(4×2)数组重组成(2×4)数组b=diag(A) %取(2×4)数组的对角元素形成(2×1)列数组B=diag(b) %据(2×1)列数组构造(2×2)对角阵D1=repmat(B, 2, 4) %把数组B当作模块,按(2×4)形式排放该模块,形成(4×8)数组A=reshape(1:9, 3, 3) %将1到9重排成(3×3)数组B=flipud(A) %上下对称交换C=fliplr(A) %左右对称交换D=rot90(A, 2) %旋转1800运行结果:a =1 2 3 4 5 6 7 8A =1 52 63 74 8A =1 3 5 72 4 6 8b =14B =1 00 4D1 =1 0 1 0 1 0 1 00 4 0 4 0 4 0 41 0 1 0 1 0 1 00 4 0 4 0 4 0 4A =1 4 72 5 83 6 9B =3 6 92 5 81 4 7C =7 4 18 5 29 6 3D =9 6 38 5 27 4 14、输入以下指令,写出运行结果。

本例演示:逻辑操作和关系操作。

A=[-2, -1, 0, 0, 1, 2, 3] %产生一维数组L1=~(A>1) %判断A中,哪些元素不大于1L2=(A>0)&(A<3) %判断A中,哪些元素大于0且小于3A, B=[0, -1, 1, 0, 1, -2, -3]C=xor(A, B) %当A、B数组中,两个对应元素中仅一个为0时,给出1。

否则为0.运行结果:A =-2 -1 0 0 1 2 3L1 =1 1 1 1 1 0 0L2 =0 0 0 0 1 1 0A =-2 -1 0 0 1 2 3B =0 -1 1 0 1 -2 -3C =1 0 1 0 0 0 0五、实验报告与思考题按实验内容及实验步骤书写实验报告并思考以下问题:1、MA TLAB中的数组运算和矩阵运算是同一种运算吗?答:MATLAB中的数组运算和矩阵运算是两种不同的运算,其运算符号和运算规则都有所不同。

2、MA TLAB总把数组看作存储和运算的基本单元,标量数据能作为数组处理吗?答;标量数据可以看成是1×1的数组数据。

3、试说明二维数组创建和寻访的方法。

答:①小规模数组的直接输入法:·整个输入数组必须以方括号“[ ]”为其首尾;·数组的行与行之间必须用分号“;”或回车键[Enter]隔离;·数组元素必须由逗号“,”或空格分隔。

②中规模数组的数组编辑器创建法:当数组规模较大,元素比较冗长时,就不宜采用指令窗直接输入法,此时借助数组编辑器比较方便。

③中规模数组的M文件创建法:对于今后经常需要调用的数组,当数组规模较大面复杂时,为它专门建立一个M文件是值得的。

④利用MATLAB函数创建数组:在实际应用中,用户往往需要产生一些特殊形式的数组/矩阵。

MATLAB 提供了许多生成特殊数组的函数。

寻访的方法有两种:单下标寻访:A=zeros(2,6) %创建(2×6)的全零数组A(:)=1:12 %赋值号左边:单下标寻访(2×6) 数组A的全部12个元素%赋值号右边:拥有12个元素的一维数组A(8)双下标寻访:A(2,4) %双下标:A数组的第2行第4列元素。

相关文档
最新文档