有限差分法求解差分方程

Posted PirateLHX

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有限差分法求解差分方程相关的知识,希望对你有一定的参考价值。

 

(注意在这里边界条件的区别)

利用数学解答后的标准解为ue=-0.5x2+0.5;


 

clear all;close all;clc;
%总体用中心差分的办法
%前向差分求出边界u[0]=u[1]
x1=linspace(0,1,7);
dx=1/6;
x0=linspace(0,1,100);
ue=-0.5*x0.^2+0.5;%确切解
plot(x0,ue,\'k-\');
hold on;
e=ones(5,1);
A=spdiags([-e 2*e -e],[-1 0 1],5,5);
%A=toeplitz([2,-1,0,0,0]);
A(1,1)=1;
A1=A/dx/dx;
b1=ones(5,1);
u10=A1\\b1;
u1=[u10(1);u10;0];
plot(x1,u1,\'ro\');
hold on;

%中心差分法求出边界u[1]=u[-1];
A2=toeplitz([2,-1,0,0,0,0]);
b2=ones(6,1);
A2(1,2)=-2;
A3=A2/dx/dx;
u20=A3\\b2;
u20=[u20;0];
plot(x1,u20,\'b*\')

 

以上是关于有限差分法求解差分方程的主要内容,如果未能解决你的问题,请参考以下文章

急!!如何用matlab语言编写一个用牛顿迭代法求解经过有限差分法处理过的非线性方程组

数值计算中的有限差分法

FDM, FVM, FEM

数字信号处理线性常系数差分方程 ( 使用 matlab 求解 “ 线性常系数差分方程 “ 示例 | A 向量分析 | B 向量分析 | 输入序列分析 | matlab 代码 )

数字信号处理线性常系数差分方程 ( 卷积 与 “ 线性常系数差分方程 “ | 使用 matlab 求解 “ 线性常系数差分方程 “ )

数字信号处理线性常系数差分方程 ( 使用递推解法求解 “ 线性常系数差分方程 “ | “ 线性常系数差分方程 “ 初始条件的重要性 )