《计 算 机 仿 真》
上 机 实 验 报 告
姓名:
学号: 2012104021
专业: 测控
班级: 12 级
实验一 常微分方程的求解及系统数学模型的转换
一.实验目的
通过实验熟悉计算机仿真中常用到的 Matlab 指令的使用方法,掌握常微分
方程求解指令和模型表示及转换指令, 为进一步从事有关仿真设计和研究工作打
下基础。
二 . 实验设备
个人计算机, Matlab 软件。
三 . 实验准备
预习本实验有关内容(如教材第 2、3、5 章中的相应指令说明和例题) ,编
写本次仿真练习题的相应程序。
四. 实验内容
1. Matlab中常微分方程求解指令的使用
题目一 :请用 MATLAB的ODE45算法分别求解下列二个方程。 要求 :1. 编写出 Matlab
仿真程序; 2. 画出方程解的图形并对图形进行简要分析; 3. 分析下列二个方程的
关系。
1. 2.
1.function fun=funl(t,x)
fun=-x^2;
[t,x]=ode45('fun1',[0,20],[1]);
figure(1);plot(t,x);
grid
2.function fun=fun2(t,x)
fun=x^2;
[t,x]=ode45('fun2',[0,20],[-1]);
figure(2);plot(t,x);
grid
题目二 :下面方程组用在人口动力学中,可以表达为单一化的捕食者 - 被捕食者
模式(例如,狐狸和兔子)。其中 x 表示被捕食者, x 表示捕食者。如果被捕
1 2
'
食者有无限的食物,并且不会出现捕食者。于是有 x x ,则这个式子是以指数
1 1
形式增长的。 大量的被捕食者将会使捕食者的数量增长; 同样,越来越少的捕食
者会使被捕食者的数量增长。 而且,人口数量也会增长。 请分别调用 ODE45、ODE23
算法求解下面方程组。 要求编写出 Matlab 仿真程序、 画出方程组解的图形并对图
形进行分析和比较。
1.ODE45
function fun=fun3(t,x)
fun=[x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t];
[t,x]=ode45('fun3',[0,20],[30,20]);
plot(t,x);
Grid
2.ODE23
function fun=fun3(t,x)
fun=[x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t];
[t,x]=ode23('fun3',[0,20],[30,20]);
plot(t,x);
Grid
2. Matlab 中模型表示及模型转换指令的使用
题目三 :若给定系统的的传递函数为
3 2
6s 12s 6s 10
G (s)