[原始]偏微分方程数值解法的MATLAB源代码【已更新】
说明:偏微分的程序都很长,比其他算法要复杂一些,谢谢你另贴,上传偏微分的程序。
其他数值算法如下
.//Announce/Announce.asp? BoardID=209id=8245004
1、用经典显式形式求解抛物型偏微分方程(一维热传导方程)
function [ uxt ]=pdeparabolicclassicalexplicit (UX、uT、phi、psi1、psi2、m、n、c ) )。
求解%经典显式格式抛物型偏微分方程
% [ uxt ]=pdeparabolicclassicalexplicit (UX,uT,phi,psi1,psi2,m,n,c ) )。
%
(方程) u_t=C*u_xx 0=x=uX,0=t=uT
%初始值条件: u(x,0 )=phi(x ) (x ) ) ) ) ) ) ) ) )。
%边缘值条件: u(0,t )=psi1(t ) t ),u (UX,t )=psi2(t ) t ) ) ) ) ) )。
%
%输出参数: u矩阵,第一行为初始值,第一列和最后一列为边缘值,第二行为第2层……
% x -空间变量
% t -时间变量
%输入参数: uX -空间变量x可取值的上限
% uT -时间变量t可取值的上限
% phi -定义为内联函数的初始值条件
% psi1 -定义为内联函数的边值条件
% psi2 -定义为内联函数的边值条件
% M -沿轴的等分区间数
% N -沿轴的等分区间数
% C -系数,默认情况下C=1
%
%应用示例:
%uX=1; uT=0.2; M=15; N=100; C=1;
% phi=在线(sin ) pi*x ) ); psi1=在线('0); psi2=在线('0);
% [ uxt ]=pdeparabolicclassicalexplicit (UX,uT,phi,psi1,psi2,m,n,c );
设置%参数c的默认值
if nargin==7
C=1;
结束
%计算步骤
dx=uX/M; %x步骤
dt=uT/N; %t步骤