首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MATLAB:使用ODE求解器?

MATLAB:使用ODE求解器?
EN

Stack Overflow用户
提问于 2008-12-18 09:57:01
回答 2查看 2.2K关注 0票数 1

这是一个非常基本的问题,但这是我第一次使用MATLAB,我被卡住了。我需要使用3种不同的数值积分技术来模拟一个简单的串联RC网络。我想我知道如何使用常微分方程求解器,但我不知道如何输入系统的微分方程。我需要通过一个m文件来做吗?

这只是一个简单的RC电路,形式如下:

代码语言:javascript
复制
RC dy(t)/dt + y(t) = u(t)

初始条件为零。我有R,C,步长和模拟时间的值,但我不知道如何使用MATLAB。

任何帮助都是非常感谢的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-12-18 15:56:20

您将需要一个函数文件,该文件将t和y作为输入,并将dy作为输出。它将是自己的文件,具有下面的头文件。

代码语言:javascript
复制
function dy = rigid(t,y)

将其保存为MATLAB路径中的rigid.m。

从那里你可以把它放入你的微分方程。你现在有了一个函数。下面是一个简单的例子:

代码语言:javascript
复制
function dy = rigid(t,y)

dy = sin(t);

在命令行或脚本中,您需要通过ODE45驱动此函数

代码语言:javascript
复制
[T,Y] = ode45(@rigid,[0 2*pi],[0]);

这将为您提供从time 0time 2*pi运行的函数(rigid.m),初始y为零

绘制如下图:

代码语言:javascript
复制
plot(T,Y)

更多的MATLAB文档在这里:

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ode23tb.html

票数 4
EN

Stack Overflow用户

发布于 2008-12-18 10:04:40

The Official Matlab Crash Course有一个关于解常微分方程的章节,还有很多我在启动Matlab时发现有用的其他资源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/377406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档