📄 rk1.m
字号:
function [x,y] = RK(ODEfile,xi,xf,h,yi,varargin)
% if isempty(h) | h == 0
% h = (xf - xi)/99;
% end
n = fix(n);
yi = (yi(:).')'; % Make sure it's a column vector
x = [xi:h:xf]; % Vector of x values
% if x(end) ~= xf
% x(end+1) = xf;
% end
% d = diff(x); % Vector of x-increments
y(:,1) = yi; % Initial condition
for i = 1:length(x)-1
k1 = d(i) * feval(ODEfile,x(i),y(:,i),varargin{:});
k2 = d(i) * feval(ODEfile,x(i)+d(i)/2,y(:,i)+k1/2, ...
varargin{:});
k3 = d(i) * feval(ODEfile,x(i)+d(i)/2,y(:,i)+k2/2, ...
varargin{:});
k4 = d(i) * feval(ODEfile,x(i+1),y(:,i)+k3,varargin{:});
y(:,i+1) = y(:,i) + (k1+2*k2+2*k3+k4)/6;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -