⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rk_4.m

📁 内涵大量基于MATLAB的仿真算法
💻 M
字号:
function [tout,yout] = rk_4(odefile,t0,h,th,y0)
%RK_4 实现了 4 阶 Runge-Kutta 定步长微分方程求解。
%
%  [tout,yout] = rk_4(odefile,t0,h,th,y0)
%
%  odefile 为描述微分方程的 M 函数, t0, h 和 th 分别为
%  初始时间、步长和终止时间, y0 为状态变量初值向量,返回
%  的 tout 和 yout 分别为时间向量和状态变量解矩阵。

%Designed by Prof D Xue (c) 2000
tout=[t0:h:th]'; yout=[];
for t=tout'
   k1=h*eval([odefile '(t,y0)']);
   k2=h*eval([odefile '(t+h/2,y0+0.5*k1)']);
   k3=h*eval([odefile '(t+h/2,y0+0.5*k2)']);
   k4=h*eval([odefile '(t+h,y0+k3)']);
   y0=y0+(k1+2*k2+2*k3+k4)/6;
   yout=[yout; y0'];
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -