这是一个非常基本的问题,但这是我第一次使用 MATLAB,我被困住了。我需要使用 3 种不同的数值积分技术来模拟一个简单的系列 RC 网络。我想我了解如何使用 ode 求解器,但我不知道如何输入系统的微分方程。我需要通过 m 文件来完成吗?
它只是一个简单的 RC 电路,形式如下:
RC dy(t)/dt + y(t) = u(t)
初始条件为零。我有 R、C、步长和仿真时间的值,但我不知道如何特别好地使用 MATLAB。
任何帮助深表感谢!
这是一个非常基本的问题,但这是我第一次使用 MATLAB,我被困住了。我需要使用 3 种不同的数值积分技术来模拟一个简单的系列 RC 网络。我想我了解如何使用 ode 求解器,但我不知道如何输入系统的微分方程。我需要通过 m 文件来完成吗?
它只是一个简单的 RC 电路,形式如下:
RC dy(t)/dt + y(t) = u(t)
初始条件为零。我有 R、C、步长和仿真时间的值,但我不知道如何特别好地使用 MATLAB。
任何帮助深表感谢!
您将需要一个函数文件,它将t和y作为输入并给出dy作为输出。它将是具有以下标头的自己的文件。
function dy = rigid(t,y)
在 MATLAB 路径上将其另存为rigid.m。
从那里你可以输入你的微分方程。你现在有了一个函数。这是一个简单的:
function dy = rigid(t,y)
dy = sin(t);
从命令行或者脚本,需要通过ODE45来驱动这个功能
[T,Y] = ode45(@rigid,[0 2*pi],[0]);
这将为您提供从时间 0到时间 2*pi运行的函数(rigid.m) ,初始 y 为零。
绘制这个:
plot(T,Y)
更多 MATLAB 文档在这里:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ode23tb.html
官方的 Matlab 速成课程(PDF 警告)有一个关于求解 ODE 的部分,以及我在启动 Matlab 时发现的许多其他有用的资源。