〈〈计算机仿真技术》实验指导书李艳编著
中南大学
2006年9月
计算机仿真是一门实践性很强的课程,实验课是计算机仿真课程的重要环节。通过实验,使学生加深对仿真程序的理解,掌握应用仿真程序进行控制系统响应性能分析和控制器参数设〈〈计算机仿真技术》实验指导书李艳编著
中南大学
2006年9月
计算机仿真是一门实践性很强的课程,实验课是计算机仿真课程的重要环节。通过实验,使学生加深对仿真程序的理解,掌握应用仿真程序进行控制系统响应性能分析和控制器参数设计的能力。
本实验指导书是配合计算机仿真技术的教学,为学生做实验提供的指导性材料。为便于学习,书中对各种仿真方法均备有范例程序,所有程序均采用MATLAB语言编写,并上机调试通过。
编者2006年9月
实验一数字仿真方法验证一、实验目的
掌握基丁数值积分法的系统仿真、了解各仿真参数的影响;
掌握基丁离散相似法的系统仿真、了解各仿真参数的影响;
掌握SIMULINK动态仿真;
熟悉MATLAB语言及应用环境。
二、实验环境
网络计算机系统(采矿楼四楼测试实验室),MATLAB语言环境三、实验示例介绍
(一)用Euler法和四阶RK法求初值问题的数值解。
du2t
一=u一一dtuu(0)二1示例1:设方程如下,取步长
h=。上机用如下程序可求出数值解。
clear
t0=0;
u0=1;
h=;
n=1/h;
u(1)=1;
t(1)=0;
fori=0:n-1k1=u0-2*t0/u0;u1=u0+h*k1;t1=t0+h;
u0=u1;t0=t1;u(i+2)=u1;t(i+2)=t1;
end
%输出数据
u1
t1
%输出图形
figure(1)
plot(t,u,'g');
clear
t0=0;
u0=1;
h=;
n=1/h;
u(1)=1;
t(1)=0;
fori=0:n-1k1=u0-2*t0/u0;k2=(u0+h*k1/2)-2*(t0+h/2)/(u0+h*k1/2);k3=(u0+h*k2/2)-2*(t0+h/2)/(u0+h*k2/2);k4=(u0+h*k3)-2*(t0+h)/(u0+h*k3);u1=u0+h*(k1+2*k2+2*k3+k4)/6;t1=t0+h;u0=u1;t0=t1;u(i+2)=u1;t(i+2)=t1;end
u1
t1
figure(1)
plot(t,u,'r');
MATLAB工具箱提供了各种数值积分方法的常用函数,如ode45ode23等。直接调用函数的方法与应用例子如下:
示例2、已知二阶微分方程,求时间区问t=[020]微分方程的解。
y_(1_y2)yy=0y(0)=0,y(0)=1分三个步骤求解
将微分方程表示为一阶微分方程组^1=、2-/>2、^2=(1—y〔)y2—y〔
建立描述微分方程组的函数m文件functiondy=vdp(t,y)dy=[y(2);(1-y(1)*y(1))*y(2)-y(1)];
调用解题器指令ode45求解y
[t,y]=ode45('vdp',[020],[0,1]);
plot(t,y(:,1),'r-'
计算机仿真技术指导书 来自淘豆网m.daumloan.com转载请标明出处.