变步长龙格库塔法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 0.0
变步长龙格库塔法matlab代码,matlab 龙格库塔法 变步长龙格库塔法.doc相关推荐
- 变步长龙格库塔法matlab代码,matlab龙格库塔法变步长龙格库塔法.doc
河北科技大学硕士学位研究生 2012--2013学年第二学期 <Matlab语言及应用>结课论文 学 院:信息科学与工程学院专 业:电路与系统姓 名:张利超学 号:S2012014011 ...
- 机器学习之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 ...
最新文章
- 安卓高手之路之图形系统(6)requestLayout的流程
- SQL Server 查询基础
- 剑指offer03.数组中重复的数字
- CI/CD with drone
- 盗取cookie终极代码
- LINUX 基础命令和预处理
- HDU3549(最大流算法的Dinic算法)
- 开天辟地 —— Go scheduler 初始化(二)
- 机器学习笔记(十三):降维
- 关于zabbix_get 的介绍
- Spring源码分析-循环依赖
- 学会这4个表达「万能公式」,下次向领导汇报时不再语无伦次
- Activiti(6.0)任务管理服务TaskaskService
- Atitit word结构化提取考试试题读取 poi读取word nlp aiprj 目录 1.1. 结构化后数据	1 1.2. 文字读取	1 1.3. 图片读取	1 1.4. Doc的表格读取 /
- 搜索结果去重_华为诺亚方舟实验室推荐与搜索方向六项研究成果获CIKM 2020录用...
- Word插入页码和目录
- 国产芯片---超高速、高输出电流,电压反馈放大器MS8241兼容替代LM7171
- python英文分句_英文分句
- python验证手机号是否注册学信网
- Python爬虫下载视频(梨视频)
热门文章
- 校准曲线(calibration curve)是什么?如何绘制校准曲线(calibration curve)?如何通过过校准曲线进行分析?什么是高估?什么是低估?
- sql服务器登录名为电脑名如何修改,如何恢复数据库的账号 登录名/用户名等
- k-NN最近邻算法(k-nearest neighbors algorithm)
- 单继承--多态性 多继承--二义性 ambiguous
- C语言中within函数,vfprintf() - C语言库函数
- 大学mysql教程_MYSQL教程:新手该看的MYSQL操作
- 人脸检测--Supervised Transformer Network for Efficient Face Detection
- 【bat脚本】使用ffmpeg工具剥离某一个声道
- 报错解决:undefined reference to `snappy::MaxCompressedLength(unsigned long)'
- android gradle错误,更新到Android Studio 2.3后出现Gradle错误