参考书籍:常用数值算法及其matlab实现,作者:夏省祥
%第10章 常微分方程初值问题的数值解法
%欧拉方法,例10.1

%书籍:常用数值算法及其matlab实现
%第10章 常微分方程初值问题的数值解法
%欧拉方法
function E = eulerdif(fun, a, b, y0, h)
%fun:微分方程的右表达式
%a, b 为区间
%y0 为初值
M = floor(b-a)/h ;      %离散点的个数M+1
T =zeros(1, M+1); Y =zeros(1, M+1);         %行向量
T = a:h:b;
Y(1) = y0;
for i = 1:MY(i+1) = Y(i) +h *feval(fun, T(i), Y(i));
end
E = [T' Y'];            %E是M+1行,2列% function E = eulerdif(fun, a, b, y0, h)
% %fun:微分方程的右表达式
% %a, b 为区间
% %y0 为初值
% M = floor(b-a)/h ;      %离散点的个数M+1
% T =zeros( M+1,1); Y =zeros( M+1,1);         %列向量
% T = a:h:b;
% Y(1) = y0;
% for i = 1:M
%     Y(i+1) = Y(i) +h *feval(fun, T(i), Y(i));
% end
% E = [T  Y];            %E是M+1行,2列
%书籍:常用数值算法及其matlab实现
%第10章 常微分方程初值问题的数值解法
%欧拉方法,例10.1
%function E = eulerdif(fun, a, b, y0, h)
clear all;clc;close  all;
%fun =@(x,y)-3*x*y;
fun = inline('-3*x*y');
a = 0; b =2;
y0 = 1;
h = 0.1
E = eulerdif(fun, a, b, y0, h);
plot(E(:,1),E(:,2) ,'r*-');    hold on;exa10_1 = dsolve('Dy = -3*x*y', 'y(0) = 1', 'x');       %求出解析解
ezplot(exa10_1, [0 2]);       %画出解析解的图像
legend('数值解','解析解' )

运行结果如下:

matlab:欧拉方法求解微分方程相关推荐

  1. matlab:使用欧拉方法求解微分方程

    书目:<数值方法(matlab版)>,作者周璐等译 %欧拉方法求解微分方程function [t,y] = my_euler(f, t0, tf , y0, h)%f-函数: t0,tf: ...

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

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

  3. 欧拉方法求解微分方程C语言,用欧拉方法求解微分方程组

    将来,如果您在问题中包含完整的警告消息,这将很有帮助-它将包含发生问题的行:tmp/untitled.py:15: RuntimeWarning: overflow encountered in do ...

  4. c语言编程欧拉方法求近似值,欧拉法求解已知初值微分方程解

    1.原理 数值积分算法是求解知初值的微分方程的重要方法. 如已知微分方程 d(y)/d(t) = f(y, t) y(t0) = y0 方程两边对t积分就会有 此式表示原函数t1时刻的解y(t1)为原 ...

  5. 隐式欧拉解常微分方程c语言,利用欧拉方法求常微分方程近似数值解.doc

    利用欧拉方法求常微分方程近似数值解,欧拉微分方程,欧拉运动微分方程,欧拉平衡微分方程,欧拉型微分方程,微分方程的欧拉算法,微分方程的欧拉解法,欧拉型常微分方程,偏微分方程数值解,微分方程数值解法 利用 ...

  6. 6.1 欧拉方法与改进欧拉方法

    6.1.1 欧拉方法 欧拉方法是一种数值解常微分方程(ODE)的方法,可以用于近似求解给定的初值问题.它是以欧拉命名的瑞士数学家莱昂哈德·欧拉所发明的,因此得名. 欧拉方法的基本思路是将连续的常微分方 ...

  7. [计算机图形学]动画与模拟:欧拉方法、刚体与流体(前瞻预习/复习回顾)

    一.前言 这是本专栏的倒数第二篇文章了,为什么不是最后一篇?因为我要单独写一篇总结哈哈,不管怎么说,从今年的3.13的MVP变换开始写,写到现在,也是一个很大的工程了,我很高兴能在大二下学期的期中这个 ...

  8. 【微分方程数值解】常微分方程(一)欧拉方法和改进欧拉方法(附python算例,封装类)

    欧拉方法与改进欧拉方法 一.算法原理 对给定微分方程 {y′=f(x,y)y(x0)=y0(1)\begin{cases} y' = f(x,y)\\ y(x_0) = y_0 \end{cases} ...

  9. 微分方程数值解法(欧拉方法)

    微分方程数值解法(欧拉方法) 假设y'=-x/y,这里采用分离变量法可以得到x^2+y^2=C,是一个圆: 现在假设C=4,并且有初始值为(-2,0),比较用数值方法获得的值与用公式计算的值之间的误差 ...

最新文章

  1. c++模板之函数指针到函数对象:
  2. Java 14 Hotspot 虚拟机垃圾回收调优指南!
  3. linux安装Python2.7
  4. 零基础学习pythonrequests_requests库初体验
  5. setjmp与logjmp用法总结
  6. HTML如何添加锚点,总结到位
  7. 第七节:ES6为数值做了哪些扩展?
  8. 打造TypeScript的Visual Studio Code开发环境
  9. stata抓取html,Stata 网页表格爬取示例
  10. 强大的Git客户端:Tower for Mac
  11. 电脑哪个服务器可以玩无限连击,无尽之剑3手把手教你无限连击攻略
  12. 纵说“同步”与“异步”
  13. 关于三极管,我忽视了两点
  14. mac可以用计算机考试系统吗,苹果测试在iPhone上装macOS电脑系统?这太牛了吧
  15. Linux密码策略、连接空闲超时时间设置
  16. 苹果语音备忘录怎么改名字_苹果手机语音备忘录怎么恢复?教你在手机上直接操作...
  17. 嵌入式Linux设备驱动程序开发指南9(平台设备驱动)——读书笔记
  18. pdf 格式文件预览
  19. VScode 主题和打字特效配置,让你的VScode活“”起来
  20. 各类消息队列MQ比较

热门文章

  1. 如何提高职场沟通能力
  2. 认识物联网,你可以从这个角度入手
  3. 记录总结并分享下自己找工作的经历
  4. C语言位操作 - bit 、byte的清零,置1,提取,判断
  5. 分布式存储与传统存储架构
  6. Css样式表中:margin、paddi…
  7. 如何利用GraphPad Prism 8 绘制生存曲线?
  8. 什么是看涨期权与看跌期权? 什么是实值期权、平值期权与虚值期权?
  9. 以太坊swarm bee体验
  10. matlab课程设计报告题目,课程设计报告