#先上代码后补笔记#

#可以直接复制粘贴调用的MATLAB函数代码!#

1. 亚当斯(Adams)预测-修正算法

由亚当斯-巴什福特(Adams-Bashforth)显式预测公式和亚当斯-莫顿(Adams-Moulton)隐式修正公式组成的预测-修正(PECE)对。

function [ YMat ] = Adams( func, tvec, y_init, order )
%  Adams预测-修正算法,用于求解常微分初值问题
% 输入四个参数:函数句柄func(接收列向量、返回列向量),积分时间列向量tvec,初值行向量y_init,阶数order;
% 输出一个参数:数值解,每一行对应积分时间列向量的一行,各列为变量一个分量。
switch order
case '4'
row = size(tvec, 1); col = size(y_init, 2);
YMat = zeros(row, col);
YMat(1:4, :) = Runge_Kutta(func, tvec(1:4), y_init, '4');
for i=4:row - 1
stepsize = tvec(i + 1) - tvec(i);
ydiff0 = func(tvec(i), YMat(i, :).');
ydiff1 = func(tvec(i - 1), YMat(i - 1, :).');
ydiff2 = func(tvec(i - 2), YMat(i - 2, :).');
ydiff3 = func(tvec(i - 3), YMat(i - 3, :).');
y_predict = YMat(i, :).' + (55*ydiff0 - 59*ydiff1 + 37*ydiff2 - 9*ydiff3)*stepsize/24;
y_corrector = YMat(i, :).' + (9*func(tvec(i + 1), y_predict) + 19*ydiff0 - 5*ydiff1 + ydiff2)*stepsize/24;
YMat(i + 1, :) = y_corrector.';
end
end
end

  

常微分方程初值问题:多步预测-修正方法 [MATLAB]的更多相关文章

  1. KEIL CRACK及 0xFD Bug修正方法

    0xFD Bug是keil编译器中始终存在,而又从未得到官方修复的一个BUG!!! BUG描述:当C源代码中使用了汉字等非ASCII字符,而此字符的编码又恰好包含了大于或等于0xFD的字节时,这个字节 ...

  2. AJAX--XMLHttpRequest五步使使用方法

    传统浏览方式和AJAX方式的不同 多数Web应用程序都使用请求/响应模型从server上获得完整的HTML页面.经常是点击一个button,等待server对应,在点击还有一个button.然后在等待 ...

  3. Boa Web Server 缺陷报告及其修正方法

    综述 Boa 作为一种轻巧实用的 WEB 服务器广泛应用于嵌入式设备上, 但 Boa 对实现动态网页的 CGI  的支持上仍存在一些缺陷, 本文描述了 Boa 对 CGI 的 Status/Locat ...

  4. 常微分方程初值问题:单步方法 [MATLAB]

    #先上代码后补笔记# #可以直接复制粘贴调用的MATLAB函数代码!# 1. 朗格-库塔(Runge-Kutta)方法族 目前只实现了四阶Runge-Kutta方法. function [ YMat ...

  5. BP神经网络人口预测程序(matlab实现)

    自己测试人口预测的matlab实现: x=[54167    55196    56300    57482    58796    60266    61465    62828    64653  ...

  6. Ajax学习(三)——XMLHttpRequest对象的五步使使用方法

        Ajax的核心技术是XMLHttpRequest对象,它能够在不向server提交整个页面的情况下.实现局部更新网页.通过这个对象,Ajax能够像桌面应用程序那样仅仅与server进行数据层的 ...

  7. PHP 7.0 5.6 下安裝 phpLDAPadmin 发生错误的修正方法

    在稍具規模的網路環境中, 網管時常選用 LDAP 來進行帳號的統整管理, 一方面提供管理便利度, 另一方面使用者也不必因為不同系統而記憶不同帳號, phpLDAPadmin 是一套常見的 LDAP 管 ...

  8. 数值积分:基于牛顿-柯茨公式的定步长和自适应积分方法 [MATLAB]

    #先上代码后补笔记# #可以直接复制粘贴使用的MATLAB函数!# 1. 定步长牛顿-柯茨积分公式 function [ integration ] = CompoInt( func, left, r ...

  9. springboot--异步执行的方法及定时执行的方法

    让方法被调用后异步的执行 一般来说,要异步执行一个任务都是创建一个线程来专门干这个任务.在springboot中有 @Async 这个注解快速实现方法的异步执行.只需要两步:第一步: 在启动类上加上@ ...

随机推荐

  1. 一、NHibernate配置所支持的属性

    属性名 用途 dialect 设置NHibernate的Dialect类名 - 允许NHibernate针对特定的关系数据库生成优化的SQL 可用值: full.classname.of.Dialec ...

  2. mybatis由浅入深day02_9.3.5使用生成的代码_9.4逆向工程注意事项

    9.3.5 使用生成的代码 需要将生成工程中所生成的代码拷贝到自己的工程中. 拷这4个到我们原来的spring_mybatis1216工程下 ItemsMapper.java package cn.i ...

  3. Android 能够暂停的录音功能

    Android ApI提供了MediaRecorder和AudioRecord两个类给开发者来很方便地实现音视频的录制(前者可以实现音频和视频的录制,后者只能实 现音频的录制).这两个类都提供了sta ...

  4. PHP-003

    PHP函数大全(转) usleep() 函数延迟代码执行若干微秒.unpack() 函数从二进制字符串对数据进行解包.uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.time_sl ...

  5. #error和line

    #error message ----注:message不需要用双引号包围, #error 编译指示字用于自定义程序特有的编译错误消息类似的, #warning用于生成编译警告,但不会停止编译. 在l ...

  6. 【IOS6.0 自学瞎折腾】(五)应用程序的启动过程和Application生命周期

    一 :main函数入口 看下项目资源结构,其实程序的入口也是在main.m里面. #import <UIKit/UIKit.h> #import "BvinAppDelegate ...

  7. HTTP/2笔记之流和多路复用

    零.前言 本部分将讲解HTTP/2协议中对流的定义和使用,其实就是在说HTTP/2是若何做到多路复用的. 一.流和多路复用的关系 1. 流的概念 流(Stream),服务器和客户端在HTTP/2连接内 ...

  8. jQuery性能优化整理

    1.总是从ID选择器开始继承 2.class选择器之前使用tag 3.将jQuery对象缓存起来 4.使用链式操作 5.使用子查询 6.对直接的DOM操作进行限制 7.当需要对dom进行多次操作时,使 ...

  9. 【Android N 7.1.1】 屏幕亮和灭的处理地方

    frameworks/base/services/core/java/com/android/server/display/DisplayPowerController.java private vo ...

  10. webpack中,css中打包背景图,路径报错

    css-loader: //打包样式中背景图 { test: /\.(png|jpg)$/, loader: "url-loader?limit=8192&name=images/[ ...