matlab经典习题及解答Word格式文档下载.docx
《matlab经典习题及解答Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《matlab经典习题及解答Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
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’
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
12363
84240
2.8“左除”与“右除”有什么区别?
在通常情况下,左除x=a\b是a*x=b的解,右除x=b/a是x*a=b的解,一般情况下,a\b≠b/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
149
162536
496481
a^2
303642
668196
102126150
2.11
,观察a与b之间的六种关系运算的结果。
456];
b=[8–74;
362];
a>
b
010
101
=b
a<
a==b
000
a~=b
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)
0.50000.70710.8660
cos(x1)
0.86600.70710.5000
tan(x1)
0.57741.00001.7321
cot(x1)
1.73211.00000.5774
2.15用四舍五入的方法将数组[2.45686.39823.93758.5042]取整。
b=[2.45686.39823.93758.5042];
round(b)
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
-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
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)组合成一个4⨯3的矩阵,第一列为按列顺序排列的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=
第3章数值计算基础
3.2求解多项式x3-7x2+2x+40=0的根。
r=[1-7240];
p=roots(r);
-0.2151
0.4459
0.7949
0.2707
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])
312
3.7计算多项式
的微分和积分。
p=[4–12–145];
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.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.15有一正弦衰减数据y=sin(x).*exp(-x/10),其中x=0:
pi/5:
4*pi,用三次样条法进行插值。
x0=0:
4*pi;
y0=sin(x0).*exp(-x0/10);
pi/20:
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
表示在给定x时,将3*x^2+5*x+2的数值运算结果赋值给变量f,如果没有给定x则指示错误信息。
表示将字符串'
赋值给字符变量f,没有任何计算含义,因此也不对字符串中的内容做任何分析。
表示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.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)
(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)]
第5章基本图形处理功能
5.1绘制曲线
,x的取值范围为[-5,5]。
x=-5:
0.2:
5;
y=x.^3+x+1;
plot(x,y)
5.2有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线。
t=0:
0.5:
10;
y1=exp(-0.1*t);
y2=exp(-0.2*t);
y3=exp(-0.5*t);
plot(t,y1,'
-ob'
t,y2,'
:
*r'
t,y3,'
-.^g'
5.3在5.1题结果图中添加标题
,并用箭头线标识出各曲线a的取值。
title('
\ity\rm=e^{-\itat}'
FontSize'
12)
text(t(6),y1(6),'
\leftarrow\ita\rm=0.1'
11)
text(t(6),y2(6),'
\leftarrow\ita\rm=0.2'
text(t(6),y3(6),'
\leftarrow\ita\rm=0.5'
5.4在5.1题结果图中添加标题
和图例框。
legend('
a=0.1'
a=0.2'
a=0.5'
5.5表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
第1次
第2次
第3次
第4次
第5次
第6次
观测点1
3
6
7
4
2
8
观测点2
观测点3
9
5
观测点4
y=[3696;
6774;
7323;
4252;
2487;
8744];
bar(y)
bar(y,’stack’)
5.6x=[6649715638],绘制饼图,并将第五个切块分离出来。
x=[6649715638];
L=[00001];
pie(x,L)
5.7
,当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。
[x,y]=meshgrid([-2:
.2:
2]);
z=x.*exp(-x.^2-y.^2);
mesh(x,y,z)
subplot(2,2,1),plot3(x,y,z)
plot3(x,y,z)'
subplot(2,2,2),mesh(x,y,z)
mesh(x,y,z)'
)
subplot(2,2,3),surf(x,y,z)
surf(x,y,z)'
subplot(2,2,4),surf(x,y,z),shadinginterp
surf(x,y,z),shadinginterp'
5.8绘制peaks函数的表面图,用colormap函数改变预置的色图,观察色彩的分布情况。
surf(peaks(30));
colormap(hot)
colormap(cool)
colormap(lines)
5.9用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。
[x,y,z]=sphere(30);
mesh(x,y,z)
mesh(x,y,z),hiddenoff
surf(x,y,z)
z(18:
30,1:
5)=NaN*ones(13,5);
5.10将5.9题中的带剪孔的球形表面图的坐标改变为正方形,以使球面看起来是圆的而不是椭圆的,然后关闭坐标轴的显示。
axissquare
axisoff
第6章M文件编程
6.1命令文件与函数文件的主要区别是什么?
(1)命令文件是一系列命令的组合,函数文件的第一行必须用function说明;
(2)命令文件没有输入参数,也不用返回参数,函数文件可以接受输入参数,也可以返回参数;
(3)命令文件处理的变量为工作空间变量,函数文件处理的变量为函数内部的局部变量,也可以处理全局变量。
6.2如何定义全局变量?
用关键字global可以把一个变量定义为全局变量,在M文件中定义全局变量时,如果在当前工作空间已经存在了相同的变量,系统将会给出警告,说明由于将该变量定义为全局变量,可能会使变量的值发生改变,为避免发生这种情况,应该在使用变量前先将其定义为全局变量。
6.4if语句有几种表现形式?
(1)if表达式
语句体
end
(2)if表达式
语句体1
else
语句体2
(3)if表达式1
elseif表达式2
(4)if表达式1
语句体3
6.5说明break语句和return语句的用法。
break语句用于终止for循环和while循环的执行。
如果遇到break语句,则退出循环体,继续执行循环体外的下一行语句。
在嵌套循环中,break只存在于最内层的循环中。
return语句用于终止当前的命令序列,并返回到调用的函数或键盘,也用于终止keyboad方式,在MATLAB中,被调用的函数运行结束后会自动返回调用函数,使用return语句时将return插入被调用函数的某一位置,根据某种条件迫使被调用函数提前结束并返回调用函数。
6.7