【matlab】常微分方程的数值解法

求常微分方程边值问题y''+p(x)y’+q(x)y=r(x),a
摘要由CSDN通过智能技术生成

实验任务

(一)常微分方程的符号计算和数值解法基本操作

1、课上例题:1、2、3、4

(二)专题实验(梯形格式)

编写梯形公式的程序,要求:

  1. 程序要有通用性,例如:

          function [t,y]=tixing(f,a,b,y0,N,mytol)

          % 求解形式为y=f(t,y)的常微分方程的梯形公式

          % a,b为自变量的取值范围

          % y0为初始值

          % N表示对区间[a,b]剖分N等份

  % mytol表示允许误差, 要求默认值为1e-6,用来作为校正终止的条件

  1. 以例题4中的方程作为测试方程,画出数值解和精确解的图形,并做图例。在完成例4测试后,也可以再找其它方程作为测试方程。

(三)专题实验(改进Euler格式)

编写梯形公式的程序,要求:

(1)程序要有通用性,例如:

          function [t,y]=GJ_Euler(f,a,b,y0,N)

          % 求解形式为y=f(t,y)的常微分方程的改进Euler公式

          % a,b为自变量的取值范围

          % y0为初始值

          % N表示对区间[a,b]剖分N等份

  1. 以例4中的方程作为测试方程,画出数值解和精确解的图形,并做图例。在完成例4测试后,也可以再找其它方程作为测试方程。

(四)专题实验(变形Euler格式)

编写梯形公式的程序,要求:

(1)程序要有通用性,例如:

          function [t,y]=BX_Euler(f,a,b,y0,N)

          % 求解形式为y=f(t,y)的常微分方程的变形Euler公式

          % a,b为自变量的取值范围

          % y0为初始值

          % N表示对区间[a,b]剖分N等份

  1. 以例4中的方程作为测试方程,画出数值解和精确解的图形,并做图例。在完成例4测试后,也可以再找其它方程作为测试方程。

(五)专题实验(边值问题的有限差分方法)

编写课上的算例1、算例2,要求:

其中pfun, qfun, rfun,是方程中的系数和右端函数p(x),q(x),r(x),一般程序中不用单字母作为函数名。ceshi 是对编写的函数进行测试。myFD是有限差分方法的主程序,可以写为下列形式:

function [x,y]=myFD(alpha,beta,a,b,N)

%求常微分方程边值问题y’’+p(x)y+q(x)y=r(x), a<x<b

                         y(a)=alpha, y(b)=beta

% N表示对区间[a,b]剖分N等份

%返回值x为[a,b]的剖分节点,

%返回值y为剖分节点上的数值解

(2)对课程上的算例1和算例2进行测试,每一个算例都要求画出数

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值