建立系统微分方程一般步骤.doc

上传人:wj 文档编号:4706984 上传时间:2023-05-07 格式:DOC 页数:6 大小:78KB
下载 相关 举报
建立系统微分方程一般步骤.doc_第1页
第1页 / 共6页
建立系统微分方程一般步骤.doc_第2页
第2页 / 共6页
建立系统微分方程一般步骤.doc_第3页
第3页 / 共6页
建立系统微分方程一般步骤.doc_第4页
第4页 / 共6页
建立系统微分方程一般步骤.doc_第5页
第5页 / 共6页
建立系统微分方程一般步骤.doc_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

建立系统微分方程一般步骤.doc

《建立系统微分方程一般步骤.doc》由会员分享,可在线阅读,更多相关《建立系统微分方程一般步骤.doc(6页珍藏版)》请在冰点文库上搜索。

建立系统微分方程一般步骤.doc

建立系统微分方程一般步骤:

(1)将系统划分为多个环节,确定各环节的输入及输出信号,每个环节都可考虑写一个方程;

(2)根据物理定律或通过实验等方法得出物理规律,列出各环节的原始方程式,并考虑适当简化、线性化;

(3)将各环节方程式联立,消去中间变量,最后得出只含有输入变量、输出变量以及参量的系统方程式。

建立LRC电路的微分方程式

R

-

L

+

C

用MATLAB语言编程实现仿真的主要步骤是调用

MATLAB中的ODE(OrdinaryDifferentialEquation,常微分方程)解函数。

MATLAB提供的常用ODE解函数如下:

•ode45 此算法被推荐为首选算法;

•ode23 这是一个比ode45低阶的算法;

•ode113 用于更高阶或大的标量计算;

•ode23t 用于解决难度适中的问题;

•ode23s 用于解决难度较大的问题;

•ode15s 与ode23相同,但要求的精度更高;

•ode23tb 用于解决难度较大的问题。

这些ODE解函数的调用格式基本相同。

例如,ode45的基本调用格式为

[t,x]=ode45('方程函数名',tspan,x0,tol)

其中,方程函数名为描述系统状态方程的M函数名称,tspan一般为仿真时间范围(例如,取tspan=[t0,tf],t0为起始计算时间,tf为终止计算时间);x0为系统状态变量初值,应使该向量元素个数等于系统状态变量的个数;tol用来指定的精度,其默认值为10-3(即0.1%的相对误差),一般应用中可以直接采用默认值。

函数返回两个结果t向量和x阵。

由于计算中采用了步长自动控制策略,因而t向量不一定是等间隔。

但是,仿真结果可以用plot(t,x)指令绘制出来。

例:

电路如下图所示,,L=2.1H,C=0.3F,初始状态是电感电流为零,电容电压为0.2V,t=0时接入1.5V的电压,求时,的值,并画出电流和电容电压的关系曲线。

Example:

Circuitisshownbelow,,L=2.1H,C=0.3F,Initialcondition:

inductancecurrentis0,capacitancevoltageis0.2V.Access1.5Vvoltagewhent=0,Evaluate,when,andplotthecurvebetweencurrentandcapacitancevoltage.

R

-

L

+

C

解:

(1)根据基尔霍夫电压定律、电流定律得到系统的原始微分方程为

(2)消去中间变量,得电路微分方程:

(3)划高阶微分方程为一阶微分方程:

设,

则有

(4)编程

系统微分方程描述函数的程序:

(rlcsys.m)

functiondx=rlcsys(t,x)

dx=zeros(2,1);

ui=1.5;

R=1.6;

L=2.1;

C=0.3;

dx

(1)=x

(2);

dx

(2)=1/(L*C)*(ui-x

(1)-R*C*x

(2));

主程序(jierlc.m)

clear

clc

close

t0=0;

tfinal=10;

x0=[0.20];

[t,x]=ode45(@rlcsys,[t0tfinal],x0);

C=0.3;

cfu=x(:

1);%Cfunction

ifu=C*x(:

2);%ifunction

figure

(1)

subplot(211)

plot(t,cfu)

title('C/V')

xlabel('time/s')

grid

subplot(212)

plot(t,ifu)

title('L/A')

xlabel('time/s')

grid

figure

(2)

plot(cfu,ifu)

grid

title('C、Lrelation')

xlabel('C')

ylabel('L')

1、假设著名的Lorenz模型的状态方程表示为

若令其初值为,,解方程。

(采用ode45()函数)

Lorenzmodelstateequationisshownbelow:

Assumethatinitialvaluesare,,pleasesolvetheequation.(Note:

ode45())

程序:

(lorenz.m)

functiondx=lorenz(t,x)

dx=zeros(3,1);

dx

(1)=-8*x

(1)/3+x

(2)*x(3);

dx

(2)=-10*x

(2)+10*x(3);

dx(3)=-x

(1)*x

(2)+28*x

(2)-x(3);

程序:

(jielorenz.m)

[t,x]=ode45(@lorenz,[0100],[0;0;1e-10]);

plot(t,x);

2、

(1)考虑著名的VandePol方程

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2