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

📄 rk1.m

📁 (有源代码)数值分析作业,本文主要包括两个部分,第一部分是常微分方程(ODE)的三个实验题,第二部分是有关的拓展讨论,包括高阶常微分的求解和边值问题的求解(BVP).文中的算法和算例都是基于Matla
💻 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 + -