机械工程学院2011—2012学年第二学期
工程硕士《计算机仿真》试题
姓名 成绩
一、分别用矩阵求逆(inv )指令和左除(\)指令编程求解如下线性方程组。(5分)
?????=++=++=++134927753457321
321321x x x x x x x x x
答:程序如下:
a= [7 1 5;
3 5 7;
2 9 4];
b=[4 7 13]';
X1=inv(a)*b %求逆指令求解
X2=a\b %左除指令求解
结果:
X =[0.5561 1.4393 -0.2664]’
程序运行及结果如下图(程序文件:zyl-1-mfile.m ):
二、画出函数5.05.02cos 2)5(sin )(2
05.02++-=x x x e x x f x 在区间[-5, 5]的图形,并用fminbnd 命令求出该函数在区间[-5, 5]中的最小值点min x 和函数的最小值min f .(5分)
答:程序如下:
x=-5:0.01:5; %定义区间
f1='sin(5*x).^2.*exp(0.05*x.^2)-2*x.*cos(2*x)+0.5*sqrt((x+0.5).^2)'; %函数表达式 f2= sin(5*x).^2.*exp(0.05*x.^2)-2*x.*cos(2*x)+0.5*sqrt((x+0.5).^2) ; %函数表达式 plot(x,f2,'r-') %用红线画出图形
[xmin,fmin]=fminbnd(f1,-5,5) %用fminbnd 命令求极小值
结果:
min x =-5, min f =-6.0796 程序运行结果及图形如下图(程序文件:zyl-2-mfile.m ):
三、画出函数x e x f 2s in )(=在0~π区间的图形,并用quad 命令编程求?π
0)(dx x f 的积分值。(5分)
答:程序如下:
x=0:pi/1000:pi; %定义区间(1000等分)
f=exp((sin(x)).^2); %函数表达式
plot(x,f,'r.') %用红线画出图形
area=quad('exp((sin(x)).^2)',0,pi) %用quad 命令求积分值
结果:积分值=area=5.5084 程序运行结果及图形如下图(程序文件:zyl-3-mfile.m ):
四、画出函数x e x x f x 6.0cos )(2.02-?=-在[1,3]区间的图形,并用fzero 命令编程求解该非线性方程0)(=x f 的一个根,设初始点为20=x 。(5分) 答:程序如下:
x=1:0.1:3; %定义自变量区间
f=cos(x).^2.*exp(-0.2.*x)-0.6.*sqrt(x.^2); %自变量表达式
plot(x,f,'r-') %用红线画出图形
z=fzero('cos(x).^2.*exp(-0.2.*x)-0.6.*sqrt(x.^2)',2) %求初始点为2时的0点 结果:z = 0.7570
程序运行结果及图形如下图(程序文件:zyl-4-mfile.m ):
五、已知非线性方程如下,编程求其解,设初始点为[2,2]。(10分)
?????=+-=---2122222121x x x x x x
答:程序如下:
%程序myfun.m
function y=myfun(x)
y=[2*x(1)-x(2)-2^(-x(1));-x(1)+2*x(2)-2^(-x(2))];
%主程序
x0=[2;2];
[x,f]=fsolve(@myfun,x0)
结果:
x =
0.6412
0.6412
f =
1.0e-008 *
-0.3702
-0.3702
程序运行结果如下图(程序文件:zyl-5-mfile.m ,myfun.m ):
六、在曲柄滑块机构中,滑块的位移为:22))sin(()cos(θθa b a s -+=,位移s 是曲柄转动角度θ的函数,a 为曲柄的长度,b 为连杆的长度。当15=a ,20=b ,用plot 函数绘制出θ-s 的关系曲线图,已知 3600≤≤θ。(10分)要求:
1)对所绘制的曲线设置颜色和线型,并打开网格
2)定义X 坐标轴为“曲柄转动角度θ” 定义Y 坐标轴为“滑块的位移s ”。
3)定义图形标题名称为“曲柄滑块θ-s 的关系曲线图”。
4)定义坐标轴范围380~0=X ,30~0=Y 。
5)在(100,15)处标出注释“θ-s 曲线”。
6)用图例注解说明函数曲线为“θ-s 曲线”。
答:程序如下:
t=[0:pi/360:360]; %定义变量范围
hold on
axis([0,380,0,30]); %定义坐标轴范围
s=15*cosd(t)+sqrt(20.^2-(15*sind(t)).^2); %定义函数表达式
plot(t,s,'r-') %设置曲线为红色实线
xlabel('曲柄转动角度θ'); %定义X 坐标轴
ylabel('滑块的位移s'); %定义Y 坐标轴
title('曲柄滑块s-θ的关系曲线图'); %定义图形标题名称
legend('s-θ曲线') %图例注解说明
text(100,15,'s-θ曲线') %在(100,15)处标出注释
grid on %打开栅格
程序运行结果及图形如下图(程序文件:zyl-6-mfile.m ):
七、在]3,3
[
,-
∈
y
x区域里,编制程序绘制
2
2
6y
x
ye
z-
-
=的三维网格图、三维曲面图和
三维表面图,要求分别绘制成三张图。(20分)
答:程序如下:
x=-3:0.2:3;
y=x;
[X,Y]=meshgrid(x,y); %产生“经纬”矩阵
Z=6*Y.*exp(-X.^2-Y.^2);
figure(1)
mesh(Z) %三维网格图(四边形网格图)命令title('No.1 三维网格图')
figure(2)
surfl(X,Y,Z) %三维曲面图(四边形曲面图)命令title('No.2 三维曲面图')
figure(3)
surf(X,Y,Z) %三维表面图(四边形表面图)命令title('No.3 三维表面图')
程序运行结果及图形如下图(程序文件:zyl-7-mfile.m):
八、微分方程求解,设1)(8.0)(3.0)(22=++t y dt t dy dt
t y d ,0)0(=y ,0)0(=dt dy ,用ode45方法求微分方程的解。结果用一张图表示,包括位移—时间(t y -)曲线,速度—时间(t y -')曲线和加速度—时间(t y -'')曲线,仿真时间t=30秒。(20分) 答:程序如下:
%函数表达式文件myfun1.m
function xdot=myfun1(t,x)
xdot=[x(2);1-0.3*x(2)-0.8*x(1)];
%主程序zyl-8-mfile.m
t=[0 30];
x0=[0;0];
[tt,yy]=ode45(@myfun1,t,x0);
plot(tt,yy(:,1),':b',tt,yy(:,2),'-r')
hold on
plot(tt,1-0.3*yy(:,2)-0.8*yy(:,1),'-.k')
legend('位移曲线','速度曲线','加速度曲线')
title('微分方程的解')
程序运行结果及图形如下图(程序文件:zyl-8-mfile.m ,myfun1.m ):
九、已知柴油机的特性参数如下表所示,用多项式拟合的方法编程,分别拟合出转矩——转速曲线)
M和功率——转速曲线)
(n
N。要求(1)用二阶多项式和三阶多
(n
项式进行转矩——转速曲线)
M的拟合,并将特性参数数据点、二阶拟合曲线和三
(n
阶拟合曲线,在同一张图形中用不同的颜色和不同的线型表达。(2)用三阶多项式和四阶多项式进行功率——转速曲线)
N的拟合,并将特性参数数据点、三阶拟合
(n
曲线和四阶拟合曲线,在同一张图形中用不同的颜色和不同的线型表达。(3)分别写出拟合的转矩—转速曲线)
M的二阶拟合公式和三阶拟合公式,功率—转速曲线
(n
N的三阶拟合公式和四阶拟合公式。(20分)
(n
)
答:(1)转矩-转速曲线拟合程序如下:
x=[800:100:2200];
y=[550.4,605.9,665.8,705.5,735.5,...
745.5,741.5,735.58,728.68,720.8,...
708.04,693.26,678.56,653.86,595.26];
%绘参数数据点
plot(x,y,'.r')
hold on
%绘二阶拟合曲线
p2=polyfit(x,y,2)
py2=polyval(p2,x);
plot(x,py2,':b')
hold on
%绘三阶拟合曲线
p3=polyfit(x,y,3)
py3=polyval(p3,x);
plot(x,py3,'g')
grid on
hold on
%图形注释
xlabel('转速n');
ylabel('转矩M');
legend('数据点','二阶拟合曲线','三阶拟合曲线')
title('转矩-转速曲线M(n)拟合')
结果:
当n=2时,p2 =-0.0003 1.0198 -30.8427
当n=3时,p3 =0.0000 -0.0011 2.1220 -524.5667 二阶拟合公式:20.0003 1.019830.8427y x x =-+- 三阶拟合公式:20.0011 2.1220524.5667y x x =-+-
程序运行结果及图形如下图(程序文件:zyl-9(1)-mfile.m ):
(2)功率-转速曲线拟合程序如下:
x=[800:100:2200];
y=[48.69,61.28,73.28,86.86,94.81,...
104.00,110.98,117.61,124.21,130.09,...
135.24,140.38,145.53,150.30,154.35]; %绘参数数据点
plot(x,y,'.r')
hold on
%绘三阶拟合曲线
p3=polyfit(x,y,3)
py3=polyval(p3,x);
plot(x,py3,':b')
hold on
%绘四阶拟合曲线
p4=polyfit(x,y,4)
py4=polyval(p4,x);
plot(x,py4,'g')
grid on
hold on
%图形注释
xlabel('转速n');
ylabel('功率N');
legend('数据点','三阶拟合曲线','四阶拟合曲线')
title('功率-转速曲线N(n)拟合')
结果:
当n=3时,p3 = 0.0000 -0.0001 0.3141 -129.7814 当n=4时,p4 = -0.0000 0.0000 -0.0002 0.3799 -151.6974 三阶拟合公式:20.00010.3141129.7814y x x =-+- 四阶拟合公式:20.00020.3799151.6974y x x =-+-
程序运行结果及图形如下图(程序文件:zyl-9(2)-mfile.m ):
要求:1)答卷中应含程序清单、计算结果和相关结果图。
2)须交打印纸质答卷一份。
3)答卷的电子文档发邮件至