资源简介
MATLAB四阶龙格库塔法 求解微分方程数值解
部分源码
clear;clc;close all
h=0.2;
t=0:h:3;
x(1)=1;
%使用Runge-Kutta方法,计算微分方程的数值解
代码片段和文件信息
clear;clc;close all
h=0.2;
t=0:h:3;
x(1)=1;
%使用Runge-Kutta方法,计算微分方程的数值解
for n=1:(length(t)-1)
K1=-t(n)*x(n);
K2=-(t(n)+h/2)*(x(n)+K1*h/2);
K3=-(t(n)+h/2)*(x(n)+K2*h/2);
K4=-(t(n)+h)*(x(n)+K3*h);
x(n+1)=x(n)+(h/6)*(K1+2*K2+2*K3+K4);
end
plot(tx‘r‘)
hold on
xt=dsolve(‘Dx=-t*x‘‘x(0)=1‘); %求出微分方程的精确符号解
ezplot(xt[0 3])
xlabel(‘t‘)
ylabel(‘x‘)
title([‘h=‘num2str(h)])
legend({‘4th Runge-Kutta‘‘symbolic solution‘})
%根据精确符号解,求出在时间t上,x的精确值
n=1;
for t=0:h:3
xt_value(n)=eval(xt);
n=n+1;
end
error=abs(x-xt_value); %Runge-Kutta方法得到的x,与精确的x之间的误差值
figure
t=0:h:3;
plot(terror) %绘制出 时间t-误差error 图
xlabel(‘t‘)
ylabel(‘error‘)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 776 2018-04-21 19:20 MATLAB四阶龙格库塔法 求解微分方程数值解 源程序代码\fourth_order_Runge_Kutta.m
目录 0 2014-06-07 12:45 MATLAB四阶龙格库塔法 求解微分方程数值解 源程序代码\
相关资源
- 30个MATLAB—GUI案例源码
- MATLAB使用欧拉Euler法求解微分方程组
- 三次均匀B样条插值计算 matlab
- matlab中cftool拟合步骤
- 信息理论与编码的MATLAB实验
- 抛物线差分格式求解matlab程序
- DDC的MATLAB代码
- 基于MATLAB的质点弹道计算与外弹道优
- MATLAB程序实现外推法、黄金分割法
- TV去噪程序
- AHLOHA m=4二叉树冲突分解 matlab
- matlab傅里叶变换与反变换
- cholesky分解的matlab代码
- 粒子群PSO优化LSSVM的完整程序
- 基于Retinex理论的图像增强Matlab代码(
- jpeg图像压缩编解码程序
- 传染病模型 元胞自动机 matlab源码
- matlab模拟EKF滤波器
- 一种改进的DV-HOP算法matlab仿真代码
- matlab UKF 状态估计软件包
- matlab 正六边形随机撒点
- 迫零均衡MATLAB仿真程序
-
基于MATLAB_SIMUli
nk的交流电机调速系 - 相参串脉冲matlab
- 谱减法的matlab程序
- 修改后turbo系统 matlab 仿真代码 参考
- dv-hop算法的matlab原代码
- matlab 从TXT文件读出RGB图像内有TXT文件
- matlab gui经典
- NSGA-2 matlab
评论
共有 条评论