变步长龙格库塔法matlab代码,matlab龙格库塔法变步长龙格库塔法.doc
河北科技大学硕士学位研究生
2012——2013学年第二学期
《Matlab语言及应用》结课论文
学 院:信息科学与工程学院专 业:电路与系统姓 名:张利超学 号:S2012014011
经典龙格库塔法及变步长龙格库塔法
1.经典龙格库塔法及变步长龙格库塔法matlab代码
a.经典龙格库塔法文件: Rungkutta4.m
function R=Rungkutta4(f,a,b,N,ya)
h = (b-a)/N;
x = zeros(1,N+1);
y = zeros(1,N+1);
x = a:h:b;y(1) = ya;for i+1:N??? k1 = feval(f,x(i),y(i));????? k2 = feval(f,x(i)+h/2,y(i)+(h/2)*k1);????? k3 = feval(f,x(i)+h/2,y(i)+(h/2)*k2);????? k4 = feval(f,x(i)+h,y(i)+h*k3);????? y(i+1) = y(i)+(h/6)*(k1+2*k2+2*k3+k4);end
b.变步长龙格库塔法文件:change_step_RK.m
function change_step_RK(fun);
p21=2^p-1;
while x(end)
[x1,y1]=RK_f(fun,x(n),y(n),h);
[x2,y2]=RK_f(fun,x(n),y(n),h/2);
if abs(y1-y2)/p21
while abs(y1-y2)/p21
x2=x1;
y2=y1;
h=2*h;
[x1,y1]=RK_f(fun,x(n),y(n),h);
end
else
while abs(y1-y2)/p21>AbsTol;
x1=x2;
y1=y2;
h=h/2;
[x2,y2]=RK_f(fun,x(n),y(n),h/2);
end
end
[xa,ya]=RK_f(fun,h,x(n),y(n));
x(n+1)=xa;
y(n+1)=ya;
n=n+1;
end
plot(x,y,'k');
function [xa,ya]=RK_f(fun,h,x,y);
k1=fun(x,y);
k2=fun(x+h/2,y+h*k1/2);
k3=fun(x+h/2,y+h*k2/2);
k4=fun(x+h,y+h*k3);
xa=x+h;
ya=y+h*(k1+k2*2+2*k3+k4)/6;
2.利用两种方法求解初值问题
0
a.经典龙格库塔法
function varargout=saxplaxliu(varargin)
clc,clear
x0=0;xn=1;y0=0;h=0.01;
[y,x]=lgkt4j(x0,xn,y0,h);
n=length(x);
fprintf(' i x(i) y(i) \n');
for i=1:n
fprintf('%2d %4.6f %4.6\n',i,x(i),y(i));
end
plot(x,y,'k')
function z=f(x,y)
z=cos(x)+sin(y);
function [y,x]=lgkt4j(x0,xn,y0,h)
x=x0:h:xn;
n=length(x);
y1=x;
y1(1)=y0;
for i=1:n-1
K1=f(x(i),y1(i));
K2=f(x(i)+h/2,y1(i)+h/2*K1);
K3=f(x(i)+h/2,y1(i)+h/2*K2);
K4=f(x(i)+h,y1(i)+h*K3);
y1(i+1)=y1(i)+h/6*(K1+2*K2+2*K3+K4);
end
y=y1;
运行结果截取前20个
i x(i) y(i)
1 0.000000 0.000000
2 0.010000 0.010050
3 0.020000 0.020200
4
变步长龙格库塔法matlab代码,matlab龙格库塔法变步长龙格库塔法.doc相关推荐
- 变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc
河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院: 信息科学与工程学院 专 业: 电路与系统 姓 名: 张利超 学 号: S2012 ...
- 机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三)
机器学习之MATLAB代码--MATLAB量子粒子群优化LSTM超参数负荷预测(十三) 代码 数据 结果 代码 代码按照下列顺序依次: 1. function result(true_value,pr ...
- 最小拍有纹波系统仿真实验matlab代码,最小拍控制器设计.doc
最小拍控制器设计matlab实验 [实验目的] 了解和掌握有纹波和无纹波最小拍控制器的原理和设计方法. 利用Matlab仿真,观察系统的输入输出曲线. [实验内容] 系统如图所示, G(s)?-R( ...
- 人工神经网络matlab代码,matlab神经网络30例代码
如何在matlab中建立多层bp神经网络 当你用newff的时候,里面有一个参数可以控制层数,比如说:P = [0 1 2 3 4 5 6 7 8 9 10];T = [0 1 2 3 4 3 2 1 ...
- 最大流matlab代码,matlab求最大流问题
如下图,我的代码只能求指定两点的最大流,例如V1到V6,列出邻接矩阵C=[0 1 0 1 0 0,1 0 1 0 1 0,0 1 0 1 0 1,1 0 1 0 1 0,0 1 0 1 0 1,0 0 ...
- 粗糙集matlab代码,matlab的粗糙集代码
[实例简介] 关于粗糙集的matlab程序代码,供大家交流学习使用 [实例截图] [核心代码] 0c70880c-487a-4dbc-9412-435a0cfe4b22 └── Matlab code ...
- 极限环的matlab代码,matlab 数学实验 实验报告 欧拉公式 ROSSLER微分方程
问题二:用向前欧拉公式和改进的欧拉公式求方程 y '=y -2x /y , y (0)=1的数值解(0≤x ≤1 , h =0.1) 要求编写程序. 问题三:Rossler 微分方程组 当固定参数b= ...
- 巴特沃斯滤波器matlab代码,MATLAB实现巴特沃斯数字滤波器
MATLAB实现巴特沃斯数字滤波器 前因:因为要准备保研面试,今年暑假就重新把烂尾的项目捡起来了. 为了提取采集到的脑电信号中有用的部分,想用数字带通滤波器实现,浏览了很多帖子.要不是只有代码,没有注 ...
- 微分进化算法解决函数优化问题的matlab代码,Matlab微分进化算法及优化函数测试...
微分进化(Difference Evolution,DE)算法是一种优化算法,据称其比GA(遗传算法)等更为优秀. 借鉴网上实现的DE算法,用Matlab实现了对若干函数优化问题的解法,代码如下: f ...
最新文章
- 77所教育部直属高校公布2020年预算,清华超300亿!
- CMake编译Makefile
- 《BOOST程序库完全开发指南》 第11章 函数与回调
- 设计模式-观察者模式(Observer)
- Codeforces Round #420 (Div. 2)
- linux安全软件 腾讯,腾讯安全团队发现一存在24年的Linux 0day高危漏洞
- 读取nas_NAS怎么玩?除了存放小姐姐,它竟然还有这些功能
- html与css结合动效案例,写CSS动效的常用套路(附demo的效果实现与源码)
- 【MLNLP顶会论文发表总榜】谷歌最狂,清北入前十,周明、张岳、刘挺华人前三,中美差距何止一点点!...
- wincc控件包下载_Simatic HMI WinCC V7.4 SP1 组态软件下载
- SecureCRT软件安装
- Android cpu降频工具,安卓手机CPU调频/调压工具_手机CPU管理 V16.6.9 安卓版
- tabLayout 设置分割线
- 通过银行卡前缀判断归属
- C# + opengl + Tao 环境配置
- Ubuntu20.04+Window10双系统开机引导界面美化
- 南卡和OPPO蓝牙耳机哪个好用?高品质的蓝牙耳机测评
- 在html中让图片旋转180度,gif图片旋转教程:怎么把gif旋转90度/180度 附gif图片旋转软件...
- 优秀公众号推荐 STM32与FPGA资料整理 windows小工具推荐
- R5 7640H参数 锐龙R57640H性能怎么样相当于什么水平级别