1. 程式人生 > >【原始碼】四階龍格庫塔法(Runge Kutta)求解常微分方程

【原始碼】四階龍格庫塔法(Runge Kutta)求解常微分方程

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

MATLAB完整原始碼:

% It calculates ODE using Runge-Kutta 4th order method

% Author Ido Schwartz

clc; % Clears the screen

clear all;

h=1.5; % step size

x = 0:h:3; % Calculates upto y(3)

y = zeros(1,length(x));

y(1) = 5; % initial condition

F_xy = @(t,r) 3.exp(-t)-0.4r; % change the function as you desire

for i=1:(length(x)-1) % calculation loop

k_1 = F_xy(x(i),y(i));

k_2 = F_xy(x(i)+0.5*h,y(i)+0.5*h*k_1);

k_3 = F_xy((x(i)+0.5*h),(y(i)+0.5*h*k_2));

k_4 = F_xy((x(i)+h),(y(i)+k_3*h));


y(i+1) = y(i) + (1/6)*(k_1+2*k_2+2*k_3+k_4)*h;  % main equation

end

關於PPT課件的下載地址:

Runge 4th Order Method.ppt

Runge_Kutta_4.m

http://page5.dfpan.com/fs/cl6c4j5292f19209160/

更多精彩文章請關注微訊號:在這裡插入圖片描述