matlab课后习题及答案详解.docx
- 文档编号:5879577
- 上传时间:2023-05-09
- 格式:DOCX
- 页数:20
- 大小:125.79KB
matlab课后习题及答案详解.docx
《matlab课后习题及答案详解.docx》由会员分享,可在线阅读,更多相关《matlab课后习题及答案详解.docx(20页珍藏版)》请在冰点文库上搜索。
matlab课后习题及答案详解
2012年12月7日星期五
第2章MATLAB矩阵运算基础
2.1在MATLAB中如何建立矩阵
,并将其赋予变量a?
>>a=[573;491]
2.2有几种建立矩阵的方法?
各有什么优点?
可以用四种方法建立矩阵:
①直接输入法,如a=[2573],优点是输入方法方便简捷;
②通过M文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改;
③由函数建立,如y=sin(x),可以由MATLAB的内部函数建立一些特殊矩阵;
④通过数据文件建立,该方法可以调用由其他软件产生数据。
2.3在进行算术运算时,数组运算和矩阵运算各有什么要求?
进行数组运算的两个数组必须有相同的尺寸。
进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a与b相乘(a*b)时必须满足a的列数等于b的行数。
2.4数组运算和矩阵运算的运算符有什么区别?
在加、减运算时数组运算与矩阵运算的运算符相同,乘、除和乘方运算时,在矩阵运算的运算符前加一个点即为数组运算,如a*b为矩阵乘,a.*b为数组乘。
2.5计算矩阵
与
之和。
>>a=[535;374;798];
>>b=[242;679;836];
>>a+b
ans=
777
91413
151214
2.6求
的共轭转置。
>>x=[4+8i3+5i2-7i1+4i7-5i;3+2i7-6i9+4i3-9i4+4i];
>>x’
ans=
4.0000-8.0000i3.0000-2.0000i
3.0000-5.0000i7.0000+6.0000i
2.0000+7.0000i9.0000-4.0000i
1.0000-4.0000i3.0000+9.0000i
7.0000+5.0000i4.0000-4.0000i
2.7计算
与
的数组乘积。
>>a=[693;275];
>>b=[241;468];
>>a.*b
ans=
12363
84240
2.8“左除”与“右除”有什么区别?
在通常情况下,左除x=a\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情况下,a\bb/a。
2.9对于
,如果
,
,求解X。
>>A=[492;764;357];
>>B=[372628]’;
>>X=A\B
X=
-0.5118
4.0427
1.3318
2.10已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
>>a=[123;456;789];
>>a.^2
ans=
149
162536
496481
>>a^2
ans=
303642
668196
102126150
2.11
,
,观察a与b之间的六种关系运算的结果。
>>a=[123;456];
>>b=[8–74;362];
>>a>b
ans=
010
101
>>a>=b
ans=
010
101
>>a
ans=
101
010
>>a<=b
ans=
101
010
>>a==b
ans=
000
000
>>a~=b
ans=
111
111
2.12
,在进行逻辑运算时,a相当于什么样的逻辑量。
相当于a=[11011]。
2.13在sin(x)运算中,x是角度还是弧度?
在sin(x)运算中,x是弧度,MATLAB规定所有的三角函数运算都是按弧度进行运算。
2.14角度
,求x的正弦、余弦、正切和余切。
>>x=[304560];
>>x1=x/180*pi;
>>sin(x1)
ans=
0.50000.70710.8660
>>cos(x1)
ans=
0.86600.70710.5000
>>tan(x1)
ans=
0.57741.00001.7321
>>cot(x1)
ans=
1.73211.00000.5774
2.15用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。
>>b=[2.45686.39823.93758.5042];
>>round(b)
ans=
2649
2.16矩阵
,分别对a进行特征值分解、奇异值分解、LU分解、QR分解及Chollesky分解。
>>[v,d]=eig(a,b)
v=
-0.4330-0.2543-0.1744
-0.56570.9660-0.6091
-0.70180.04720.7736
d=
13.548200
04.83030
003.6216
>>a=[912;563;827];
>>[u,s,v]=svd(a)
u=
-0.56010.5320-0.6350
-0.4762-0.8340-0.2788
-0.67790.14620.7204
s=
15.523400
04.56480
003.3446
v=
-0.82750.3917-0.4023
-0.3075-0.9156-0.2592
-0.4699-0.09070.8781
>>[l,u]=lu(a)
l=
1.000000
0.55561.00000
0.88890.20411.0000
u=
9.00001.00002.0000
05.44441.8889
004.8367
>>[q,r]=qr(a)
q=
-0.69030.3969-0.6050
-0.3835-0.9097-0.1592
-0.61360.12210.7801
r=
-13.0384-4.2183-6.8260
0-4.8172-1.0807
003.7733
>>c=chol(a)
c=
3.00000.33330.6667
02.42671.1447
002.2903
2.17将矩阵
、
和
组合成两个新矩阵:
(1)组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即
(2)按照a、b、c的列顺序组合成一个行矢量,即
>>a=[42;57];
>>b=[71;83];
>>c=[59;62];
%
(1)
>>d=[a(:
)b(:
)c(:
)]
d=
475
586
219
732
%
(2)
>>e=[a(:
);b(:
);c(:
)]'
e=
452778135692
或利用
(1)中产生的d
>>e=reshape(d,1,12)
ans=
452778135692
第3章数值计算基础
3.1将(x-6)(x-3)(x-8)展开为系数多项式的形式。
>>a=[638];
>>pa=poly(a);
>>ppa=poly2sym(pa)
ppa=
x^3-17*x^2+90*x-144
3.2求解多项式x3-7x2+2x+40的根。
>>r=[1-7240];
>>p=roots(r);
-0.2151
0.4459
0.7949
0.2707
3.3求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
>>p=poly([1234]);
>>polyvalm(p,8)
ans=
840
3.4计算多项式乘法(x2+2x+2)(x2+5x+4)。
>>c=conv([122],[154])
c=
1716188
3.5计算多项式除法(3x3+13x2+6x+8)/(x+4)。
>>d=deconv([31368],[14])
d=
312
3.6对下式进行部分分式展开:
>>a=[134272];
>>b=[32546];
>>[r,s,k]=residue(b,a)
r=
1.1274+1.1513i
1.1274-1.1513i
-0.0232-0.0722i
-0.0232+0.0722i
0.7916
s=
-1.7680+1.2673i
-1.7680-1.2673i
0.4176+1.1130i
0.4176-1.1130i
-0.2991
k=
[]
3.7计算多项式
的微分和积分。
>>p=[4-12-1459];
>>pder=polyder(p);
>>pders=poly2sym(pder)
>>pint=polyint(p);
>>pints=poly2sym(pint)
pders=
12*x^2-24*x-14
pints=
x^4-4*x^3-7*x^2+5*x
3.8解方程组
。
>>a=[290;3411;226];
>>b=[1366]';
>>x=a\b
x=
7.4000
-0.2000
-1.4000
3.9求欠定方程组
的最小范数解。
>>a=[2474;9356];
>>b=[85]';
>>x=pinv(a)*b%伪逆
x=
-0.2151
0.4459
0.7949
0.2707
3.10有一组测量数据如下表所示,数据具有y=x2的变化趋势,用最小二乘法求解y。
x
1
1.5
2
2.5
3
3.5
4
4.5
5
y
-1.4
2.7
3
5.9
8.4
12.2
16.6
18.8
26.2
>>x=[11.522.533.544.55]'
>>y=[-1.42.735.98.412.216.618.826.2]'
>>e=[ones(size(x))x.^2]
>>c=e\y
>>x1=[1:
0.1:
5]';
>>y1=[ones(size(x1))x1.^2]*c;
>>plot(x,y,'ro',x1,y1,'k')%平面线图
3.11矩阵
,计算a的行列式和逆矩阵。
>>a=[42-6;754;349];
>>ad=det(a)
>>ai=inv(a)
ad=
-64
ai=
-0.45310.6562-0.5937
0.7969-0.84370.9062
-0.20310.1562-0.0937
3.12y=sin(x),x从0到2,x=0.02,求y的最大值、最小值、均值和标准差。
>>x=0:
0.02*pi:
2*pi;
>>y=sin(x);
>>ymax=max(y)
>>ymin=min(y)
>>ymean=mean(y)
>>ystd=std(y)
ymax=
1
ymin=
-1
ymean=
2.2995e-017
ystd=
0.7071
3.13
,
,计算x的协方差、y的协方差、x与y的互协方差。
>>x=[12345];
>>y=[246810];
>>cx=cov(x)
>>cy=cov(y)
>>cxy=cov(x,y)
cx=
2.5000
cy=
10
cxy=
2.50005.0000
5.000010.0000
3.14参照例3-20的方法,计算表达式
的梯度并绘图。
>>v=-2:
0.2:
2;
>>[x,y]=meshgrid(v);%产生"格点"矩阵
>>z=10*(x.^3-y.^5).*exp(-x.^2-y.^2);
>>[px,py]=gradient(z,.2,.2);%近似梯度
>>contour(x,y,z)%等位线
>>holdon
>>quiver(x,y,px,py)%二维方向箭头图
>>holdoff
3.15有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
>>x0=0:
pi/5:
4*pi;
>>y0=sin(x0).*exp(-x0/10);
>>x=0:
pi/20:
4*pi;
>>y=spline(x0,y0,x);%样条插值
>>plot(x0,y0,'or',x,y,'b')
第4章符号数学基础
4.1创建符号变量有几种方法?
MATLAB提供了两种创建符号变量和表达式的函数:
sym和syms。
sym用于创建一个符号变量或表达式,用法如x=sym(‘x’)及f=sym(‘x+y+z’),syms用于创建多个符号变量,用法如symsxyz。
f=sym(‘x+y+z’)
相当于
symsxyz
f=x+y+z
4.2下面三种表示方法有什么不同的含义?
(1)f=3*x^2+5*x+2
(2)f='3*x^2+5*x+2'
(3)x=sym('x')
f=3*x^2+5*x+2
(1)f=3*x^2+5*x+2
表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。
(2)f='3*x^2+5*x+2'
表示将字符串'3*x^2+5*x+2'赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。
(3)x=sym('x')
f=3*x^2+5*x+2
表示x是一个符号变量,因此算式f=3*x^2+5*x+2就具有了符号函数的意义,f也自然成为符号变量了。
4.3用符号函数法求解方程at2+b*t+c=0。
>>r=solve('a*t^2+b*t+c=0','t')
r=
[1/2/a*(-b+(b^2-4*a*c)^(1/2))]
[1/2/a*(-b-(b^2-4*a*c)^(1/2))]
4.4用符号计算验证三角等式:
sin
(1)cos
(2)-cos
(1)sin
(2)=sin(1-2)
>>symsphi1phi2;
>>y=simple(sin(phi1)*cos(phi2)-cos(phi1)*sin(phi2))
y=
sin(phi1-phi2)
4.5求矩阵
的行列式值、逆和特征根。
>>symsa11a12a21a22;
>>A=[a11,a12;a21,a22]
>>AD=det(A)%行列式
>>AI=inv(A)%逆
>>AE=eig(A)%特征值
A=
[a11,a12]
[a21,a22]
AD=
a11*a22-a12*a21
AI=
[-a22/(-a11*a22+a12*a21),a12/(-a11*a22+a12*a21)]
[a21/(-a11*a22+a12*a21),-a11/(-a11*a22+a12*a21)]
AE=
[1/2*a11+1/2*a22+1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]
[1/2*a11+1/2*a22-1/2*(a11^2-2*a11*a22+a22^2+4*a12*a21)^(1/2)]
4.6因式分解:
>>symsx;
>>f=x^4-5*x^3+5*x^2+5*x-6;
>>factor(f)
ans=
(x-1)*(x-2)*(x-3)*(x+1)
4.7
,用符号微分求df/dx。
>>symsax;
>>f=[a,x^2,1/x;exp(a*x),log(x),sin(x)];
>>df=diff(f)
df=
[0,2*x,-1/x^2]
[a*exp(a*x),1/x,cos(x)]
4.8求代数方程组
关于x,y的解。
>>S=solve('a*x^2+b*y+c=0','b*x+c=0','x','y');
>>disp('S.x='),disp(S.x)
>>disp('S.y='),disp(S.y)
S.x=
-c/b
S.y=
-c*(a*c+b^2)/b^3
4.9符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2]。
>>symst
>>ezplot(sin(3*t)*cos(t),sin(3*t)*sin(t),[0,pi])%画二维曲线的简捷指令
4.10绘制极坐标下sin(3*t)*cos(t)的图形。
>>symst
>>ezpolar(sin(3*t)*cos(t)%画极坐标图的简捷指令
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 课后 习题 答案 详解