您的当前位置:首页正文

matlab练习题答案

2023-07-17 来源:年旅网
第一章

1、题目:计算函数ft101其中t的范围从0到2π步长取0.1;e2tsin4t的值,

1z2z为0.707;f1(t)为f(t)>=0的部分,计算f1(t)的值。 写出程序文档、运行过程和运行结果: M函数:

function [y]=f1(t) z=0.707;

y=10*exp(-2*t).*sin(4*t)./sqrt(1-z^2); M文件:

t=0:0.1:2*pi; y=f1(t)

ff=(y>=0).*y

结果显示: y =

Columns 1 through 18

0 4.5082 6.7993 7.2328 6.3508 4.7300 -0.1666 -1.0343 -1.4482 -1.4909 -1.2778 -0.9278 0.0672 0.2332

Columns 19 through 36

0.3066 0.3062 0.2562 0.1812 0.1015 0.0317 -0.0646 -0.0626 -0.0512 -0.0352 -0.0188 -0.0048 0.0135 0.0128

Columns 37 through 54

0.0102 0.0068 0.0034 0.0006 -0.0014 -0.0025 -0.0020 -0.0013 -0.0006 -0.0001 0.0003 0.0005 0.0004 0.0003

Columns 55 through 63

0.0001 -0.0000 -0.0001 -0.0001 -0.0001 -0.0001 -0.0000 ff =

Columns 1 through 18

0 4.5082 6.7993 7.2328 6.3508 4.7300 0 0 0 0 0 0 0.0672 0.2332

Columns 19 through 36

0.3066 0.3062 0.2562 0.1812 0.1015 0.0317 0 0 0 0 0 0 0.0135 0.0128

Columns 37 through 54

plot(t,y,'r-'),hold on,plot(t,ff,'k:')

2.8767 -0.5428 -0.0203 0.0054 -0.0028 0.0006 -0.0001 2.8767 0 0 0.0054 1.1681 -0.1967 -0.0518 0.0114 -0.0026 0.0005 -0.0000 1.1681 0 0 0.0114

2、题目:两个多项式a(x)=5x44x33x22x1,b(x)= 3x2+1,计算c(x)=a(x)*b(x),并计算c(x)的根。当x=2时,计算c(x)的值;将b(x)/a(x)进行部分分式展开 写出程序文档、运行过程和运行结果: 答: clear

>> a=[5 4 3 2 1];b=[3 0 1]; >> c=conv(a,b) c =

15 12 14 10 6 2 1 >> roots(c) ans =

-0.5378 + 0.3583i -0.5378 - 0.3583i 0.1378 + 0.6782i 0.1378 - 0.6782i -0.0000 + 0.5774i -0.0000 - 0.5774i >> p=polyval(c,2) p =

1677

>> [r,p,k]=residue(b,a) r =

0.0631 - 0.0816i 0.0631 + 0.0816i -0.0631 - 0.5639i -0.0631 + 0.5639i p =

0.1378 + 0.6782i 0.1378 - 0.6782i -0.5378 + 0.3583i -0.5378 - 0.3583i k = []

3、题目:已知符号表达式f1sin复合函数,f,g的逆函数。

2x,g=2x+1,计算当x=1时,f的值;计算f与g的

给出程序文档、运行过程和运行结果:

答: clear all >> syms x >> f=1-sin(x) f =

1 - sin(x) x=1;eval(f(x)) ans =

0.1585

g=sym('2*x+1'); >> f=sym('1-sin(x)'); >> compose(f,g) ans =

1 - sin(2*x + 1) 第二章 1、题目:在同一图形窗口绘制曲线y1=sin(t),t的范围为0~4π;y2=2cos(2t),t的范围为π~3π。要求y1曲线为黑色点划线,y2为红色虚线圆圈,并在图的右下角标注两条曲线的图例(用legend),横坐标以π为单位标注。 程序文档、运行过程和运行结果:

答: clear

t=0:4*pi;t1=pi:3*pi; y1=sin(t);

y2=2*cos(2*t1);

plot(t,y1,'k -.',t1,y2,'r : o') legend('y1','y2',4);

set(gca,'xtick',[pi 2*pi 3*pi 4*pi])

2、题目:在同一图形窗口中绘制函数y围为[0,2],其运行界面如图E4.2 程序文档、运行过程和运行结果: 综合题

2etsin2t/4及其包络线图形,t的范

1. 已知矩阵A=[1,2,3;4,5,6;7,8,9],求A的逆矩阵、特征值、行列式的值。 答:>> clear

>> A=[1,2,3;4,5,6;7,8,9]; >> inv(A) ans =

1.0e+016 *

-0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504 >> det(A) ans =

6.6613e-016 >> [V,D]=eig(A) V =

-0.2320 -0.7858 0.4082 -0.5253 -0.0868 -0.8165 -0.8187 0.6123 0.4082 D =

16.1168 0 0 0 -1.1168 0 0 0 -0.0000 2. 设 ycosx0.53sinx,把x=0~2π间分为101点,画出以x为横坐标,y为纵2(1x)坐标的曲线。

答:function [y]=f1(x)

y=cos(x).*(0.5+3*sin(x)./(1+x.^2)); clear

>> x=linspace(0,2*pi,101); >> y=f1(x) plot(x,y)

综合题

1. 已知矩阵A=[1,2,3;4,5,6;7,8,9],求A的逆矩阵、特征值、行列式的值。 2. 设 ycosx0.53sinx,把x=0~2π间分为101点,画出以x为横坐标,y为纵2(1x)坐标的曲线。

542

3. 设f(x)=x- 4x +3x- 2x+ 6 (1) 在x=[-2,8]之间取100个点,画出曲线,看它有几个过零点。(提示:用polyval 函数) (2) 用roots函数求此多项式的根。

4. 用函数调用的方法,求出1! + 2!+ ⋅⋅⋅ + n!, 要求写出脚本式M文件和函数式M文件。 5. 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值以及平方和。 6. 有一组测量数据满足ye-at,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,在图中添加标题ye-at,并用箭头线标识出各曲线a的取值,并添加标题ye-at和图例框。 第一题

A =[1,2,3;4,5,6;7,8,9]; B = inv(A); C = A'; d = det(A); %第二题

x = linspace(0,2*pi,101);

y = cos(x).*(0.5 + 3*sin(x)./(1+x.*x)) plot(x,y); %第三题

x = linspace(-2,8,100);

y = polyval([1 -4 0 3 -2 6],x); plot(x,y);

plot(x,y,'r',x,0,'b');

p = roots([1 -4 0 3 -2 6]); %第四题 脚本文件 sum1 = 0; n = 100; for i=1:1:n

sum1 = sum1 + order(i); end sum1; 函数文件

function r = order(n) %

facter =1; for i=1:1:n

facter = facter * i; end

r = facter; %第五题

% 求n个数的平均值及平方和 l=0; total1=0; total2=0;

a=input('input a:\\n'); while(a~=0) l=l+1;

total1=total1+a; total2=total2+a^2; a=input(''); end

avg=total1/l total2 %第六题 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,'-.^k') 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') 第1题:系统阶跃响应

编写一个简单的M文件,计算二阶动态系统的阶跃响应,ζ值从0.1到1,且绘制出一簇阶跃响应曲线。二阶动态系统的数学模型如下:

G(s)分别设固有频率为1、2。 第2题:系统建模、模型转换及仿真

⑴用MATLAB语言表示图示系统的模型,并给出三种模型的具体表达; ⑵进行单位阶跃响应和周期为30s的方波响应。

s22n 22nsn

第1题:系统阶跃响应 %progsy21.m w=1;

y=zeros(200,1);i=1;

num=w*w;

for zeta=0.1:0.1:1

den=[1,2*zeta*w,w*w]; t=[0:0.1:19.9];

y(:,i)=step(num,den,t); i=i+1; end

mesh(fliplr(y)) zlabel('Y') ylabel('t') xlabel('\\zeta') grid

%第二题 建模和模型转换 G1=tf([1,0.5],[1,0.1]);

G2=tf(20,conv(conv([1,0],[1,2]),[1,20])); sys=feedback(G1*G2,1,-1)

sysz=zpk(sys) %转换为零极点模型 syss=ss(sys) %转换为状态空间模型 %单位阶跃响应 figure(1) step(sys); %方波响应 figure(2)

[u,t]=gensig('square',30,90); %产生周期30s的方波 lsim(sys,u,t) %方波响应 hold on plot(t,u,'-.') hold off

text(1.3,0.8,'输入\\rightarrow') text(5.4,0.8,'\\leftarrow输出')

因篇幅问题不能全部显示,请点此查看更多更全内容