昆明理工大学计算机仿真实验报告实验一

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 常微分方程的求解及系统数学模型的转换一.实验目的

通过实验熟悉计算机仿真中常用到的Matlab指令的使用方法,掌握常微分方程求解指令和模型表示及转换指令,为进一步从事有关仿真设计和研究工作打下基础。

二. 实验设备

个人计算机,Matlab软件。

三. 实验准备

预习本实验有关内容(如教材第2、3、5章中的相应指令说明和例题),编写本次仿真练习题的相应程序。

四. 实验内容

1. Matlab中常微分方程求解指令的使用

题目一:请用MATLAB的ODE45算法分别求解下列二个方程。要求:1.编写出Matlab仿真程序;2.画出方程解的图形并对图形进行简要分析;3.分析下列二个方程的关系。

1.2.

1.仿真程序

方程一:

f1=inline('-x^2','t','x');

[t,x]=ode45(f1,[0,30],[1]);

plot(t,x,'-*');

grid

方程二:

f2=inline('x^2','t','x');

[t,x]=ode45(f2,[0,30],[-1]);

plot(t,x,'-*');

grid

2.方程解的图形图形进行简要分析

3.

3.二个方程的关系

题目二:下面方程组用在人口动力学中,可以表达为单一化的捕食者-被捕食者模式(例如,狐狸和兔子)。其中表示被捕食者, 表示捕食者。如果被捕

1x 2x 食者有无限的食物,并且不会出现捕食者。于是有,则这个式子是以指1'1x x 数形式增长的。大量的被捕食者将会使捕食者的数量增长;同样,越来越少的捕食者会使被捕食者的数量增长。而且,人口数量也会增长。请分别调用ODE45、ODE23算法求解下面方程组。要求编写出Matlab 仿真程序、画出方程组解的图形并对图形进行分析和比较。

fun3 m 文件:function fun3=fun3(t,x)fun3=[x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t]Ode45解函数程序:

[t,x]=ode45('fun3',[0,20],[30,20]);

plot(t,x,'-*');title('ode45解函数');

gtext('捕食者');gtext('被捕食者');xlabel('t=0:20');

grid

Ode45解函数图像:

Ode23解函数程序:

[t,x]=ode23('fun3',[0,20],[30,20]);

plot(t,x,'-*');title('ode23解函数');

gtext('捕食者');gtext('被捕食者');xlabel('t=0:20');

grid

Ode23解函数图像:

2. Matlab 中模型表示及模型转换指令的使用题目三:若给定系统的的传递函数为

1132106126)(23423+++++++=s s s s s s s s G 请用MATLAB 编程求解其系统的极零点模型。

[z,p,k]=tf2zp([6 12 6 10],[1 2 3 1 1]);

system=zpk(z,p,k)

结果:

system =

6 (s+1.929) (s^2 + 0.07058s + 0.8638)

----------------------------------------------- (s^2 + 0.08663s + 0.413) (s^2 + 1.913s + 2.421)

题目四:习题2.4的对角标准型)65)1(54)(22+++++=s s s s s s G ( system=tf([1 4 5],conv([1 0],[1 5 6])); canon(system,'modal')结果:ans = a = x1 x2 x3 x1 0 0 0 x2 0 -2 0 x3 0 0 -3 b = u1 x1 0.3333 x2 11.36 x3 14.44 c = x1 x2 x3 y1 2.5 -0.04402 0.04618 d = u1 y1 0题目五:习题5.8 采样周期 Ts=0.02s 先在t=0.1s 仿真02.03.0)z (2+-=z z z G system1=tf([1,0 ],[1 -0.3 0.02],0.02)system2=d2d(system1,0.1)结果:

system1 =

z

------------------ z^2 - 0.3 z + 0.02

Sample time: 0.02 seconds Discrete-time transfer function.

system2 =

1.388 z + 0.0003306 -------------------------

z^2 - 0.00033 z + 3.2e-09五.总结与体会

相关文档
最新文档