• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-11-11
  • 语言: Matlab
  • 标签:

资源简介

MATLAB 常微分方程数值解法--中心差分法、向前差分、向后差分

资源截图

代码片段和文件信息

function  [AbUDLx]= zhongxincafen(abn)
%输入时:主意 阿尔法和贝塔的值是要变化的  y‘‘ +p(x)*y‘+q(x)*y=f(x)
% a 是初始值 y(a)=阿尔法,b是最终值 y(b)=贝塔  ,n是分段数
format long
h = 0.5;%  有些时候 需要输入 例如 等于 0
disp(h);
A=zeros(n-1n-1);
b=zeros(n-11);
syms x
q =[];
p=[];
r=[];
for i =1 :n-1
    x=0+i*h;
    p(i)=0;   % 变化 请更改成为 x 的函数 例子 :p(i) =-x/(1+x^2)
    q(i) =(-5/1458);  % 变化 请更改成为 x 的函数
    r(i)=(x^2-5*x)/(2916);   % 变化 请更改成为 x 的函数
    if i == 1
        A(11)=-2 + h^2 * q(i);
        A(12)= 1 + 0.5 * h * p(i);
        b(11)=h^2* r(i)-(1-0.5*h*p(i))*0; %  请更改  最后一个数字是 初值的阿尔法
    elseif i<=n-2
        A(ii-1)=1-0.5*h*p(i);
        A(ii)=-2+h^2*q(i);
        A(ii+1)=1+0.5* h *p(i);
        b(i1)=h^2 *r(i);
    el

评论

共有 条评论