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 运算基础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]](https://img.taocdn.com/s3/m/04d862d3eff9aef8951e06c1.png)
实验一 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运算基础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.先求下列表达式的值,然后显示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循环结构程序设计

实验四循环结构程序设计一、实验目的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实验及答案详解

>> 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实验内容答案

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基本操作实验内容及步骤1、命令窗口的简单使用(1)简单矩阵的输入(2)求[12+2×(7-4)]÷32的算术运算结果2、有关向量、矩阵或数组的一些运算(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.^B3、 已知⎪⎭⎫ ⎝⎛+⋅=-334sin 234πt e y t 若需要计算t ∈[-1,1],取间隔为0.01,试计算出相对应的y 值。
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 +⎡⎤=⎢⎥⎣⎦。
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基本操作实验内容及步骤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程序设计与应用课后实验答案

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程序设计教程课后答案

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]](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 值。
MATLAB)课后实验答案

实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e=+ (2) 221l n (1)2z x x =++,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3s i n (0.3)l n ,3.0,2.9,,2.9,3.022a a ee a z a a --+=++=-- (4) 2242011122123t t z t t t 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.0044i2. 已知: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]解: 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 1 ans =68 44 62309 -72 596154 -5 241 ans =12 102 468 0 2619 -130 49 ans =37226 233824 48604247370 149188 60076678688 454142 118820 ans =1728 39304 -6439304 343 65850327 274625 343 ans =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 7 ans =12 34 -43 65 74 5 111 0 1920 -5 403. 设有矩阵A和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
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课后实验题答案实验一 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)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)。
.实验五循环结构程序设计实验内容(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列元素。