%书籍:常用数值算法及其matlab实现
%第10章 常微分方程初值问题的数值解法
%改进欧拉方法
function S = impeuler(fun, x0, xn, y0, h)
%fun:微分方程的右表达式
%x0, xn为区间
%y0 为初值
M = floor(xn-x0)/h ;      %离散点的个数M+1
T =zeros(1, M+1); Y =zeros(1, M+1);         %行向量
T(1) = x0;
Y(1) = y0;
for i = 1:MK1 =  feval(fun, T(i) ,Y(i));K2 =  feval(fun, T(i)+h ,Y(i)+ h*K1);Y(i+1) = Y(i) +h/2 *(K1 + K2);T(i+1) = T(i) +h;
end
S = [T' Y'];            %E是M+1行,2列画向量
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程初值问题的数值解法
%欧拉方法,例10.1
%画出微分方程的向量场
function[] = direction_field(f, a, b, c, d)
%画出一阶微分方程y' = f(x,y)的向量场,a<= x <= b, c<= y <= d
t1 = a:0.2:b;
t2 = c:0.2:d;
[x,y] = meshgrid(t1,t2);
S = f(x,y);
K = inline(vectorize('1/sqrt(1 + S*S)'), 'S');
L =K(S)
quiver(x, y, L, S.*L, 0.5)
axis equal tight主函数
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程初值问题的数值解法
%改进欧拉方法,例10.2
%function S = impeuler(fun, x0, xn, y0, h)
clear all;clc;close  all;
%fun =@(x,y)y*cos(x);
fun = inline('y*cos(x)');
a = 0; b =3;
y0 = 1;
h = 0.2
S = impeuler(fun, a, b, y0, h)
plot(S(:,1),S(:,2) ,'r*-');    hold on;exa10_2 = dsolve('Dy = y*cos(x)', 'y(0) = 1', 'x');       %求出解析解
ezplot(exa10_2, [0 3]);       %画出解析解的图像
legend('数值解','解析解' )figure(2)       %画出向量场
example10_2 = inline(vectorize('y*cos(x)'),'x','y');
direction_field(example10_2, 0, 3,0,3);             %画出向量场
hold on;
ezplot(exa10_2, [0 3]);       %画出解析解的图像
运行结果:

matlab:使用改进欧拉法,求解微分方程相关推荐

  1. 用matlab解决向前、向后和改进欧拉法求解微分方程(编写程序)

    分别使用向前欧拉法.向后欧拉法与改进dy欧拉法求解微分方程(编写程序) 在matlab中:Π用pi表示 编写程序 function [y1,y2,y3,y4]=exam4_6(a,b,k) h=(b- ...

  2. 龙格库塔法和欧拉法求解微分方程的比较

    文章目录 计算机如何理解连续系统的动态特性? 欧拉法求解微分方程 龙格库塔法求解微分方程 MATLAB代码编写和仿真效果 计算机如何理解连续系统的动态特性? 一般连续系统的动态特性可以由一个微分方程, ...

  3. matlab输入数据作方程,用MATLAB函数编写并求解微分方程

    实验八:用MATLAB 函数编写并求解微分方程 一.实验原理 为了对连续系统进行方针,首先需要建立其数学模型,然后利用计算机求这些数学模型,从而得出数学模型的数值解.由于连续系统是通过微分方程老建模的 ...

  4. 欧拉法求解微分方程c语言_用C程序求解多项式和微分方程

    欧拉法求解微分方程c语言 1)多项式评估 (1) Polynomial Evaluation) We all know what polynomial equations are and it is ...

  5. matlab欧拉方程求解微分方程并和ode45对比结果

    1.内容简介 matlab欧拉方程求解微分方程并和ode45对比结果 2.内容说明 略 3.仿真分析 clc close all clear %% ode45方法 y0 = [8.5;2;1];%初始 ...

  6. matlab求解微分方程6,牛津大学出版社数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解:经典爱情语录大全...

    漳州理工职业学院-酒会礼仪 注:上机作业文件夹以自己的班级姓名学号命名,文件夹包括如下上机报告和Matlab程序. 上机报告模板如下: 佛山科学技术学院 上 机 报 告 课程名称 数学应用软件 上机项 ...

  7. Matlab通过ode求解微分方程

    MATLAB有很多用于求解微分方程的内置功能.MATLAB包含了用于求解常微分方程(ODE)的函数 高阶微分方程必须重新表述为一个一阶系统微分方程. 并不是所有的微分方程都可以用同样的方法求解,所以M ...

  8. matlab解无解析解微分方程组,数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解...

    <数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解>由会员分享,可在线阅读,更多相关<数学应用软件作业6 用Matlab求解微分方程(组)的解析解和数值解(12页 ...

  9. [常微分方程的数值解法系列三] 改进欧拉法(预估校正法)

    改进欧拉法 简介 预估-校正 截断误差 例子 在惯性导航以及VIO等实际问题中利用IMU求解位姿需要对IMU测量值进行积分得到需要的位置和姿态,其中主要就是求解微分方程.但之前求解微分方程的解析方法主 ...

最新文章

  1. python 字符串 转 dict
  2. python生成相似句子_4种方法计算句子相似度
  3. 堆上与堆外的内存使用情况
  4. OpenCV-风景—天空滤镜
  5. oracle异机复制,oracle冷备份恢复和oracle异机恢复使用方法
  6. 利用VS自带发布功能实现web项目快速部署
  7. Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
  8. ubuntu编译安装PHP5.6 ipArchive支持 configure: error: system libzip must be upgraded to version = 0.11
  9. 基于51单片机手机电话拨号盘模拟proteus仿真
  10. python剔除st股_通达信剔除st的指标,通达信条件预警中如何剔除st股票
  11. MBA提前面试:商学院看重软实力
  12. Android点将台:烽火狼烟[-Handler-]
  13. 鲲鹏与江西才俊的七夕之约
  14. 网站DDOS攻击防护实战老男孩经验心得分享 【转】
  15. 电脑无法输出4K信号怎么办
  16. 最新软件设计师知识点分析(思维导图)
  17. 公钥私钥及ssh公钥无密码登录
  18. 什么是idc,什么又是idc机房?
  19. Dick and Jane
  20. 微信小程序 - image 宽高自适应(图片无法自适应撑开标签)

热门文章

  1. Spring Boot 2.0.0参考手册_中文版
  2. App开发者必备的运营原型UI设计工具整理
  3. PE钢丝网骨架管的性能优势
  4. mysql中清空数据库数据保留表结构
  5. 基于STM8S003f3的单键触摸开关制作
  6. Visual Studio运行c#程序出现权限问题
  7. 量子计算机-争取让没有物理、数学背景的小白也能看懂!
  8. RK Android11 系统常见修改
  9. 常用ADB命令——安装、安装镜像
  10. 不积跬步,无以至千里。