-
大小: 645KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-04
- 语言: Matlab
- 标签: 微分方程 Runge-Kutta Matlab
资源简介
给出了四阶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
- 上一篇:自编Matlab函数实现图像缩放
- 下一篇:粒子群优化算法解决背包问题
相关资源
- 自编Matlab函数实现图像缩放
- RBM玻尔兹曼机的matlab简单演示程序
- 利用pts降低papr的matlab代码
- 基于matlab的人工蜂群算法
- LEACH算法相关代码
- palmer法求解多机作业排序问题的MATL
- 基于优先规则的MATLAB单机排序代码
- matlab中运用二分法和割线法求方程的
- MATLAB扩展编程源程序第十二章关于语
- 基于matlab软件实现的s变换
- GPS载波相位平滑伪距
- 基于维纳滤波的语音增强及优化
- 基于Zigbee定位算法MATLAB仿真
- matla正演模拟
- matlab 画五线谱
- 下采样Matlab
- 模糊相似矩阵Matlab程序
- CV模型matlab
- 单通道图像转化为三通道,并与彩色
-
基于matlab和simuli
nk的模糊自适应控制 - 基于MATLAB的DQPSK/QPSK调制解调实现
- QPSK matlab 调制解调代码
- DSSS 的matlab程序
- 简化模糊神经网络MATLAB代码
- matlab实现PCM编码译码
- mp算法matlab代码
- 在matlab中读取遥感图像BSQ数据代码
- 基于matlab的图像拼接
- NURBS曲线matlab工具箱
- Burg算法的MATLAB实现
评论
共有 条评论