%书籍:常用数值算法及其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. AIoT 2020 年分析
  2. 安卓下设置系统字体大小影响H5页面布局
  3. java运用ascii实现动画效果_安卓开发20:动画之Animation 详细使用-主要通过java代码实现动画效果...
  4. 从零开始实现一个简易的Java MVC框架(九)--优化MVC代码
  5. d. powerful ksenia_DEBON D.D |这才是每个女人应该拥有的
  6. 腾讯回应两块八卖《鬼谷八荒》:已下架并退款;iMac Pro 售完即停产;iCloud 识别姓氏闹乌龙 | 极客头条...
  7. 【leetCode】69. x 的平方根
  8. 只需45秒,Python给故宫画一组手绘图!
  9. 多媒体一体机计算机打不开,多媒体教学一体机突然打不开PPT是怎么回事?
  10. [精简整理]疏通中国历史脉络——“隋、唐(五代十国)”篇
  11. ineligible devices xcode6.3
  12. TSNAdb:肿瘤新抗原数据库
  13. freemarker模板生成pdf文件
  14. 分析大量壹米滴答物流揽收后是否有物流的实例步骤
  15. 静态代码检查-CheckStyle
  16. Unity--PicoVR开发--记录
  17. 修改Ubuntu的更新源
  18. Hexo之Next主题美化代码
  19. 企业级智能BI平台开源框架
  20. 基于JAVA网上专家门诊预约系统计算机毕业设计源码+数据库+lw文档+系统+部署

热门文章

  1. 怎么样用C语言编程自动摇号,C语言摇号程序的代码?
  2. HighTec编译器获取不到license常见原因
  3. mysql增加中文字段_mysql怎么添加字段
  4. 傲梅一键还原,软件操作。
  5. ChatGPT聊天软件开发
  6. el-table表格固定表头与合计行,内容部分自动滚动展示
  7. 基于51单片机数字电压表的设计 仿真、程序、原理图(转发)
  8. ADI Blackfin DSP处理器-BF533的开发详解7:SPI接口的驱动和应用(含源代码)
  9. 各类VRP问题标准算例资源汇总
  10. windows 8/8.1/10 下prolific usb-to-serial common port quds 无法安装解决办法