[数值分析]微分方程初值问题及matlab代码

本文已同步发表于本人博客哔哔哔哔-微分方程初值问题及matlab代码

前言

科学计算中常遇到一阶微分方程的初值问题:
y ′ = f ( x , y ) , x ∈ [ x 0 , b ] , y ( x 0 ) = y 0 . y' = f(x,y), x\in[x_0,b],\\ y(x_0) = y_0. y=f(x,y),x[x0,b],y(x0)=y0.
以下介绍几种常用方法

欧拉法

公式

经过推导可以得到公式
y n + 1 = y n + h f ( x n , y n ) y_{n+1} = y_n+hf(x_n,y_n) yn+1=yn+hf(xn,yn)

代码

matlab代码如下
eular.m

syms x;
x=input('x0='); %初始值x0
y=input('y(x0)='); %初始值y0
f(x,y)=input('dy/dx='); %输入y'
h=input('h='); %步长
t=input('x_final=')-x/h; %x的目标值
for i=1:t
    y=y+h*f(x,y);
    x=x+h;
  
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值