资源简介

给出了四阶Runge-Kutta法解常微分方程组的一般公式,并用此公式解了两个实例:捕食者-被捕食者模型和Lorenz方程(蝴蝶效应),附有实验报告和Matlab代码

资源截图

代码片段和文件信息

function Lorenz(X0Y0Z0hT)
%LORENZ Summary of this function goes here
%%初始值X0Y0Z0 步长h 积分区间长度T
%   Detailed explanation goes here

format long;
dxdt=inline(‘-10*x+10*y‘ ‘x‘ ‘y‘ ‘z‘);
dydt=inline(‘28*x-y-x*z‘ ‘x‘ ‘y‘ ‘z‘);
dzdt=inline(‘-8/3*z+x*y‘ ‘x‘ ‘y‘ ‘z‘);

x0 = [X0 Y0 Z0];
t = [0:h:T]‘;
x1 = ones(T/h+13);
x1(1:) = x0;
x2 = ones(T/h+13);
x2(1:) = x0;
f1 = ones(T/h3);
f2 = ones(T/h3);
f3 = ones(T/h3);
f4 = ones(T/h3);

for i=1:T/h
    f1(i1) = feval(dxdtx1(i1)x1(i2)x1(i3)); 
    f1(i2) = feval(dydtx1(i1)x1(i2)x1(i3)); 
    f1(i3) = feval(dzdtx1(i1)x1(i2)x1(i3));
    f2(i1) = feval(dxdtx1(i1)+h/2*f1(i1)x1(i2)+h/2*f1(i2)x1(i3)+h/2*f1(i3));
    f2(i2) = feval(dydtx1(i1)+h/2*f1(i1)x1(i2)+h/2*f1(i2)x1(i3)+h/2*f1(i3));
    f2(i3) = feval(dzdtx1(i1)+h/2*f1(i1)x1(i2)+h/2*f1(i2)x1(i3)+h/2*f1(i3));
    f3(i1) = feval(dxdtx1(i1)+h/2*f2(i1)x1(i2)+h/2*f2(i2)x1(i3)+h/2*f2(i3));
    f3(i2) = feval(dydtx1(i1)+h/2*f2(i1)x1(i2)+h/2*f2(i2)x1(i3)+h/2*f2(i3));
    f3(i3) = feval(dzdtx1(i1)+h/2*f2(i1)x1(i2)+h/2*f2(i2)x1(i3)+h/2*f2(i3));
    f4(i1) = feval(dxdtx1(i1)+h*f3(i1)x1(i2)+h*f3(i2)x1(i3)+h*f3(i3));
    f4(i2) = feval(dydtx1(i1)+h*f3(i1)x1(i2)+h*f3(i2)x1(i3)+h*f3(i3));
    f4(i3) = feval(dzdtx1(i1)+h*f3(i1)x1(i2)+h*f3(i2)x1(i3)+h*f3(i3));
    x2(i+1:) = x1(i:)+h/6*(f1(i:)+2*f2(i:)+2*f3(i:)+f4(i:));
    x1(i+1:) = x2(i:);
end

fprintf(‘\n      x          y         z         t   \n‘);
for j=1:T/h+1
    fprintf(‘  %7.2f  %8.7f  %8.7f  %8.7f  \n‘t(j)x2(j1)x2(j2)x2(j3));
end
subplot(131);
plot(x2(1:1:T/h+11)x2(1:1:T/h+12)‘r‘);
title(‘x-y‘);
subplot(132)
plot(x2(1:1:T/h+11)x2(1:1:T/h+13)‘r‘);
title(‘x-z‘);
subplot(133)
plot(x2(1:1:T/h+12)x2(1:1:T/h+13)‘r‘);
title(‘y-z‘);
end



 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     863210  2011-11-30 21:29  四阶Runge-Kutta法解常微分方程组\Ex1RK_公开版.pdf

     文件       1918  2011-11-25 17:05  四阶Runge-Kutta法解常微分方程组\Lorenz.m

     文件       1361  2011-11-25 17:07  四阶Runge-Kutta法解常微分方程组\ppm.m

     目录          0  2011-11-30 21:31  四阶Runge-Kutta法解常微分方程组

----------- ---------  ---------- -----  ----

               866489                    4


评论

共有 条评论