2025-02-04
山东科技大学(ShandongUniversityofScienceandTechnology),简称“山科大,SDUST”,主校区位于青岛市,是一所山东省属重点高校,由山东省人民政府和中华人民共和国应急管理部共建,是国家卓越工程师教育培养计划、新工科研究与实践项目、国家ji大学生创新创业训练计划项目、山东特色名校工程、山东省“冲—流”高水平大学实施高校,入选首批高等学校科技成果转化和技术转移基地、高校国家知识产权信息服务中心建设名单,为中俄(山东)教育国际合作联盟成员高校,对口支援建设长江师范学院。
一共考5个题
一、简答题(3个题必考两个共20分)
P87步长的选择与应用
不能无限制减小步长的原因
减慢计算速度
增加累积误差
应采取的措施
选择适当的步长
改进近似算法精度
采用变步长方法
P85描述被积函数的三种方法(给定被积函数为y=1/sqrt(2*pi)*exp(-x"2/2))
匿名函数
例如f=@(x)1/sqrt(2*pi)*exp(-x.A2/2),其中,括号内为自变量列表,后面的表达式求出的是被积函数的值,赋给变量f。这种方法的速度明显高于其他两种方法。
M-函数
functiony=myerrf(x),y=1/sqrt(2*pi)*exp(-x.A2/2)
该函数的优点在于可以返回多个变量,而另外两种方法则不行,但该方式需要建立一个文件。
inline函数
f=inline(‘1/sqrt(2*pi)细xp/2)','x')
其中,函数首先给出了求值表达式,然后给出自变量。该方法的速度是3种方法中最慢的,尽量不要使用。
模型转换函数
a)residue:传递函数模型与部分分式模型互换
b)ss2tf:状态空间模型转换为传递函数模型
c)tf2ss:传递函数模型转换为状态空间模型
d)ss2zp状态空间模型转换为零极点增益模型
e)zp2ss零极点增益模型转换为状态空间模型
f)tf2zp:传递函数模型转换为零极点增益模型
g)zp2tf:零极点增益模型转换为传递函数模型
二、大题(必考共40分)
Lorenz方程的Simulink仿真,其中方程为:
?企2(七)=-10比⑵+l0X3(t)
,止3(t)=一助(£)辺(上)+28x2(t)-更3(力)
仿真模型绘制图如下:(注意对应的常数(箭头指向常数)-8/3、10、-10、28老师出题的时候会改,找出对应
的位置修改就行)
1Integirator2IntegratcrlIntegratorProductlOut!XYGraphProductsxOirt3*0-?XYGraphl
1
Integirator2
Integratcrl
Integrator
Productl
Out!
XYGraph
Productsx
Oirt3
*0-?
XYGraphl
iii=r2乃
「讪—1)心_;rl_求解(其中卩=(假如老师把卩改为2,即在下面程序中将mu=1改为mu=2
即可)
解:法一(隐函数法):
f=@(t,x,mu)[x(2);-mu*(x(1)A2-1)*x(2)-x(1)];
h_opt=odeset;x0=[-0.2;-0.7];t_final=20;
mu=1;[t,y]=ode45(f,[0,t_final],x0,h_opt,mu);
plot(t,y),figure;plot(y(:,1),y(:,2))
附法二(M-函数法):
在子m-文件中写入:functionf=van(t,x,mu)
f=[x(2);-mu*(x(1)A2-1)*x(2)-x(1)];
在主m-文件中写入:clearall
clc
closeall
h_opt=odeset;x0=[-0.2;-0.7];t_final=20;
mu=1;[t,y]=ode45(@van,[O,t_final],xO,h_opt,mu);
plot(t,y),figure;plot(y(:,1),y(:,2))
三、补充题
1.电路图如下,R=1.4欧,L=2亨,C=0.32法,初始状态:电感电流为零,电容电压为0.5V,t=0时刻接入1V的
电压,求0
解:电路原理公式di(t)
解:
电路原理公式
di(t)
~dF
dv0(t)1.
0i(t)
dtc
:_Ri(t)?土
LLL
a)
子M文件中键入
functionf1-ezpl(tjx)
fl=[x(2)/0.32;-1.4/2*x(2)-x(l)/2+l/2];
b)主M文件中键入
clearall
clc
closeall
t_final=15;
x0=[0.5;0];
[t,x]=ode45(?explj[0^t_final],xO);plot(tjX)
figure;plot(x(:j1),x(:j2)):axis([0,4L4|-0+20.2])
用两种调用子程序的方式求s=1+2+3+…+m当1000
[function[m]=Zcx(s)
P=O;
fori=l:1:1OOOO