计算机仿真试题与答案.docx
- 文档编号:6977821
- 上传时间:2023-01-14
- 格式:DOCX
- 页数:12
- 大小:376.67KB
计算机仿真试题与答案.docx
《计算机仿真试题与答案.docx》由会员分享,可在线阅读,更多相关《计算机仿真试题与答案.docx(12页珍藏版)》请在冰豆网上搜索。
计算机仿真试题与答案
南京林业大学研究生试卷
题号
一
二
三
四
五
六
七
八
九
十
总分
得分
课程号33351课程名称计算机仿真2016~2017学年第1学期
一、(20分)某系统的传递函数为
试用级联法、串联法和并联法中的两种画出系统模拟结构图,并列出相应的状态方程和输出方程。
自拟仿真,比较两者结果。
答:
选用级联法和并联法写出传递函数,公式如下:
分别画出级联法、并联法的系统模拟结构图及其状态方程和输出方程,图式如下:
状态方程:
输出方程:
状态方程:
输出方程:
使用龙格—库塔法程序进行仿真,令u=1,系统在t=0-2s之间(仿真步长0.1s)则输出y截图如下:
比较后发现两者仿真结果接近。
二、(20分)已知系统的状态方程及输出方程
拟用四阶龙格-库塔法求系统在t=0-2s之间的输出值(仿真步长取0.01s或0.1s),试编写仿真程序,对仿真结果截图。
(单号C++,双号VB)
答:
用c++进行四阶龙格-库塔法,系统在t=0-2s间的(仿真步长0.01)编程:
#include
#include
usingnamespacestd;
floatx1;
floatx2;
floatx3;
floatx4;
floatt;
floatf1(floatx1,floatx2,floatx3,floatx4,floatt)
{
floatf1;
returnf1=3*x1+2*x2-x3;
}
floatf2(floatx1,floatx2,floatx3,floatx4,floatt)
{
floatf2;
returnf2=2*x1-x2+2*x3;
}
floatf3(floatx1,floatx2,floatx3,floatx4,floatt)
{
floatf3;
returnf3=x1+2*x2-x3+2;
}
floatf4(floatx1,floatx2,floatx3,floatx4,floatt)
{
floatf4;
returnf4=0;
}
intmain()
{
floatk11,k12,k13,k14,k21,k22,k23,k24,k31,k32,k33,k34,k41,k42,k43,k44;
floatt=0,h=0.01;
doubley;
floatx1=0,x2=0,x3=0,x4=0;
for(inti=1;i<200;i++)
{
t=t+h;
k11=h*f1(x1,x2,x3,x4,t);
k21=h*f2(x1,x2,x3,x4,t);
k31=h*f3(x1,x2,x3,x4,t);
k41=h*f4(x1,x2,x3,x4,t);
k12=h*f1(x1+k11/2,x2+k21/2,x3+k31/2,x4+k41/2,t+h/2);
k22=h*f2(x1+k11/2,x2+k21/2,x3+k31/2,x4+k41/2,t+h/2);
k32=h*f3(x1+k11/2,x2+k21/2,x3+k31/2,x4+k41/2,t+h/2);
k42=h*f4(x1+k11/2,x2+k21/2,x3+k31/2,x4+k41/2,t+h/2);
k13=h*f1(x1+k12/2,x2+k22/2,x3+k32/2,x4+k42/2,t+h/2);
k23=h*f2(x1+k12/2,x2+k22/2,x3+k32/2,x4+k42/2,t+h/2);
k33=h*f3(x1+k12/2,x2+k22/2,x3+k32/2,x4+k42/2,t+h/2);
k43=h*f4(x1+k12/2,x2+k22/2,x3+k32/2,x4+k42/2,t+h/2);
k14=h*f1(x1+k13,x2+k23,x3+k33,x4+k43,t+h);
k24=h*f2(x1+k13,x2+k23,x3+k33,x4+k43,t+h);
k34=h*f3(x1+k13,x2+k23,x3+k33,x4+k43,t+h);
k44=h*f4(x1+k13,x2+k23,x3+k33,x4+k43,t+h);
x1=x1+(k11+2*k12+2*k13+k14)/6;
x2=x2+(k21+2*k22+2*k23+k24)/6;
x3=x3+(k31+2*k32+2*k33+k34)/6;
}
y=x1+2*x2-2*x3;
cout<<"y="< return0; } 仿真结果截图如下: 三、(20分)已知单位反馈系统的开环传递函数为 试用Z域离散相似法和时域离散相似法进行仿真,编写仿真程序,对仿真结果截图。 (输出初态为0,输入为3,仿真步长为0.02S,100-200个周期) (单号VB,双号C++) 答: 先将函数 化成为: 画出系统结构图: 使用z域离散相似法计算得: 仿真程序如下: PrivateSubCommand1_Click() DimnAsSingle DimtAsSingle Dimw(200)AsSingle Dimx(200)AsSingle Dimz(200)AsSingle Dimy(200)AsSingle Dimu(200)AsSingle t=0.02 y(0)=0 Forn=0To199 w(n+1)=w(n)+t*3 x(n+1)=x(n)*Exp(-4*t)+w(n+1)-w(n)*(3+Exp(-4*t))/4 y(n+1)=y(n)*Exp(-3*t)+x(n)*50*(1-Exp(-3*t))/3 Next Text1.Text=y(200) EndSub 仿真结果截图如下: 使用时域相似法计算得: 仿真程序如下: PrivateSubCommand1_Click() Dimw(2000)AsSingle Dimx(2000)AsSingle Dimy(2000)AsSingle DimTAsSingle DimnAsSingle T=0.02 y(0)=0 Forn=0To199 w(n+1)=w(n)+T*3 x(n+1)=x(n)*Exp(-4*T)+(w(n)+3)*(0.25-0.25*Exp(-4*T)) y(n+1)=Exp(-3*T)*y(n)+50*x(n)*(1-Exp(-3*T))/3 Next Text1.Text=y(200) EndSub 仿真结果截图如下: 4、(20分)投? 硬? ? ? ,至少投? 多少次,才能使正面朝上的? 率在0.4-0.6之? 的? 率不小于0.9? ? ? ? ? ? 程序,? ? ? ? 果截? 。 (? ? 8000-12000次) 答: (? ? 12000次)程序如下: PrivateSubCommand1_Click() DimaAsSingle DimiAsInteger DimjAsInteger DimtAsInteger DimsAsSingle Forj=1To12000 n=0 Fori=1To25 r=Rnd() Ifr>=0.5Then n=n+1 EndIf Next If0.4<=n/25<=0.6Then m=m+1 EndIf Ifm/25>=0.9Then s=s+1 EndIf Next Text1.Text=s EndSub ? ? ? 果截? 如下: 5、(20分)某自? 市? ,平均每分? 有6位? 客到? ,每位? 客? 物? ? 服? (4.2,7.2)分? 均布(不包括交? ? ? )。 有十? 收? 台,每位? 客服? ? ? 服? (1.2,2)分? 均布。 ? 用GPSS? ? 其排? 情? 。 要求? 出? ? 模型的程序? ? ? ,列出程序? ? ? ? ? ? 果截? 。 (? ? 4000-5000次) 答: 程序? ? 及程序? ? ? 如下: SIMULATE 1STORAGE10 GENERATE1/6,0 ADVANCE5.7,1.5 QUEUE1 ENTER1 DEPART1 MARK ADVANCE1.6,.4 LEAVE1 TABULATE1 TERMINATE1 1 TABLE IA,5,5,10 START4000 END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机仿真 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)