MATLAB习题及参考答案.docx
《MATLAB习题及参考答案.docx》由会员分享,可在线阅读,更多相关《MATLAB习题及参考答案.docx(22页珍藏版)》请在冰豆网上搜索。
MATLAB习题及参考答案
习题:
1,计算
与
的数组乘积。
2,对于
,如果
,
,求解X。
3,已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
4,角度
,求x的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)
5,将矩阵
、
和
组合成两个新矩阵:
(1)组合成一个43的矩阵,第一列为按列顺序排列的a矩阵元素,第二列为按列顺序排列的b矩阵元素,第三列为按列顺序排列的c矩阵元素,即
(2)按照a、b、c的列顺序组合成一个行矢量,即
6,将(x-6)(x-3)(x-8)展开为系数多项式的形式。
(应用poly,polyvalm)
7,求解多项式x3-7x2+2x+40的根。
(应用roots)
8,求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
(应用poly,polyvalm)
9,计算多项式
的微分和积分。
(应用polyder,polyint,poly2sym)
10,解方程组
。
(应用x=a\b)
11,求欠定方程组
的最小范数解。
(应用pinv)
12,矩阵
,计算a的行列式和逆矩阵。
(应用det,inv)
13,y=sin(x),x从0到2,x=0.02,求y的最大值、最小值、均值和标准差。
(应用max,min,mean,std)
14,参照课件中例题的方法,计算表达式
的梯度并绘图。
(应用meshgrid,gradient,contour,holdon,quiver)
15,用符号函数法求解方程at2+b*t+c=0。
(应用solve)
16,用符号计算验证三角等式:
(应用syms,simple)
17,求矩阵
的行列式值、逆和特征根。
(应用syms,det,inv,eig)
18,因式分解:
(应用syms,factor)
19,
,用符号微分求df/dx。
(应用syms,diff)
20,符号函数绘图法绘制函数x=sin(3t)cos(t),y=sin(3t)sin(t)的图形,t的变化范围为[0,2]。
(应用syms,ezplot)
21,绘制曲线
,x的取值范围为[-5,5]。
(应用plot)
22,有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题
,并用箭头线标识出各曲线a的取值,并添加标题
和图例框。
(应用plot,title,text,legend)
23,表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
第1次
第2次
第3次
第4次
第5次
第6次
观测点1
3
6
7
4
2
8
观测点2
6
7
3
2
4
7
观测点3
9
7
2
5
8
4
观测点4
6
4
3
2
7
4
24,x=[6649715638],绘制饼图,并将第五个切块分离出来。
25,用sphere函数产生球表面坐标,绘制不通明网线图、透明网线图、表面图和带剪孔的表面图。
(应用sphere,mesh,hiddenoff,surf,NaN)
26,编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
27,有传递函数如下的控制系统,用Simulink建立系统模型,并对系统的阶跃响应进行仿真。
27,建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。
28建立一个模拟系统,将摄氏温度转换为华氏温度(Tf=9/5Tc+32)。
答案:
1,计算
与
的数组乘积。
>>a=[693;275];
>>b=[241;468];
>>a.*b
ans=
12363
84240
2,对于
,如果
,
,求解X。
>>A=[492;764;357];
>>B=[372628]’;
>>X=A\B
X=
-0.5118
4.0427
1.3318
3,已知:
,分别计算a的数组平方和矩阵平方,并观察其结果。
>>a=[123;456;789];
>>a.^2
ans=
149
162536
496481
>>a^2
ans=
303642
668196
102126150
4,角度
,求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
5,将矩阵
、
和
组合成两个新矩阵:
(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
6,将(x-6)(x-3)(x-8)展开为系数多项式的形式。
>>a=[638];
>>pa=poly(a);也可以用pa=poly([638])来替换1,2两行
>>ppa=poly2sym(pa)
ppa=
x^3-17*x^2+90*x-144
7,求解多项式x3-7x2+2x+40的根。
>>r=[1-7240];
>>p=roots(r)
p=
5.0000
4.0000
-2.0000
8,求解在x=8时多项式(x-1)(x-2)(x-3)(x-4)的值。
>>p=poly([1234]);
>>polyvalm(p,8)
ans=
840
9,计算多项式
的微分和积分。
clear
>>f=sym('4*x^4-12*x^3-14*x^2+5*x+9')
>>diff(f)
>>int(f)
ans=
16*x^3-36*x^2-28*x+5
ans=
4/5*x^5-3*x^4-14/3*x^3+5/2*x^2+9*x
10,解方程组
。
>>a=[290;3411;226];
>>b=[1366]';
>>x=a\b
x=
7.4000
-0.2000
-1.4000
11,求欠定方程组
的最小范数解。
>>a=[2474;9356];
>>b=[85]';
>>x=pinv(a)*b
x=
-0.2151
0.4459
0.7949
0.2707
12,矩阵
,计算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
13y=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
14,参照课件中例题的方法,计算表达式
的梯度并绘图。
>>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
15,下面三种表示方法有什么不同的含义?
(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也自然成为符号变量了。
16,用符号函数法求解方程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))]
17,用符号计算验证三角等式:
(应用syms,simple)
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)
18,求矩阵
的行列式值、逆和特征根。
>>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)]
19,因式分解:
>>symsx;
>>f=x^4-5*x^3+5*x^2+5*x-6;
>>factor(f)
ans=
(x-1)*(x-2)*(x-3)*(x+1)
20,
,用符号微分求df/dx。
(应用syms,diff)
>>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)]
21,符号函数绘图法绘制函数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])
22,绘制曲线
,x的取值范围为[-5,5]。
>>x=-5:
0.2:
5;
>>y=x.^3+x+1;
>>plot(x,y)
23,有一组测量数据满足
,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题
,并用箭头线标识出各曲线a的取值,并添加标题
和图例框。
>>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')
>>title('\ity\rm=e^{-\itat}')
>>title('\ity\rm=e^{-\itat}','FontSize',12)
>>text(t(6),y1(6),'\leftarrow\ita\rm=0.1','FontSize',11)
>>text(t(6),y2(6),'\leftarrow\ita\rm=0.2','FontSize',11)
>>text(t(6),y3(6),'\leftarrow\ita\rm=0.5','FontSize',11)
>>title('\ity\rm=e^{-\itat}','FontSize',12)
>>legend('a=0.1','a=0.2','a=0.5')
25,表中列出了4个观测点的6次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。
第1次
第2次
第3次
第4次
第5次
第6次
观测点1
3
6
7
4
2
8
观测点2
6
7
3
2
4
7
观测点3
9
7
2
5
8
4
观测点4
6
4
3
2
7
4
>>y=[3696;6774;7323;4252;2487;8744];
>>bar(y)
26,x=[6649715638],绘制饼图,并将第五个切块分离出来。
>>x=[6649715638];
>>L=[00001];
>>pie(x,L)
27,用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);
>>surf(x,y,z)
28,有一周期为4的正弦波上叠加了方差为0.1的正态分布的随机噪声的信号,用循环结构编制一个三点线性滑动平均的程序。
(提示:
①用0.1*randn(1,n)产生方差为0.1的正态分布的随机噪声;②三点线性滑动平均就是依次取每三个相邻数的平均值作为新的数据,如x1
(2)=(x
(1)+x
(2)+x(3))/3,x1(3)=(x
(2)+x(3)+x(4))/3……)
t=0:
pi/50:
4*pi;
n=length(t);
y=sin(t)+0.1*randn(1,n);
ya
(1)=y
(1);
fori=2:
n-1
ya(i)=sum(y(i-1:
i+1))/3;
end
ya(n)=y(n);
plot(t,y,'c',t,ya,'r','linewidth',2)
29,编制一个解数论问题的函数文件:
取任意整数,若是偶数,则用2除,否则乘3加1,重复此过程,直到整数变为1。
functionc=collatz(n)
%collatz
%Classic“3n+1”Ploblemfromnumbertheory
c=n;
whilen>1
ifrem(n,2)==0
n=n/2;
else
n=3*n+1;
end
c=[cn];
end
30,有传递函数如下的控制系统,用Simulink建立系统模型,并对系统的阶跃响应进行仿真。
31,建立一个简单模型,用信号发生器产生一个幅度为2V、频率为0.5Hz的正弦波,并叠加一个0.1V的噪声信号,将叠加后的信号显示在示波器上并传送到工作空间。
32,建立一个模拟系统,将摄氏温度转换为华氏温度(Tf=9/5Tc+32)。