这是一个非常基本的问题,但这是我第一次使用MATLAB而且卡住了。 我需要使用3种不同的数值积分技术来模拟简单的RC系列网络。我想我理解如何使用ode求解器,但我不知道如何输入系统的微分方程。我需要通过m文件吗?
这只是一个简单的RC电路:
RC dy(t)/dt + y(t) = u(t)
初始条件为零。我有R,C的步长和模拟时间的值,但我不知道如何使用MATLAB。
非常感谢任何帮助!
答案 0 :(得分:4)
您将需要一个以 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]);
这将为您的功能(rigid.m)提供从时间0 到时间2 * pi ,初始y为零
绘制这个:
plot(T,Y)
更多MATLAB文档在这里:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/ode23tb.html
答案 1 :(得分:1)
The Official Matlab Crash Course(PDF警告)有一个关于解决ODE的部分,以及我在启动Matlab时发现有用的许多其他资源。