【正文】
用函數(shù)EqtsForwardAndBackward)for j=1:N U(1,j)=psi1(t(j))。endfor j=1:N+1 %計(jì)算初值和邊值U=zeros(M+1,N+1)。 Up(i)=r。 Diag(i)=1+2*r。%矩陣的上對角線元素for i=1:M2%矩陣的對角線元素Low=zeros(1,M2)。r=C*dt/dx/dx。%t的步長x=(0:M)*dx。end%計(jì)算步長dx=uX/M。 %[U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)。039。)。psi1=inline(39。sin(pi*x)39。C=1。M=50。 C 系數(shù),默認(rèn)情況下C=1%%應(yīng)用舉例:%uX=1。 M 沿x軸的等分區(qū)間數(shù)% psi1 邊值條件,定義為內(nèi)聯(lián)函數(shù)% uT 時(shí)間變量t的取值上限% x 空間變量% )return。)zlabel(39。)ylabel(39。)xlabel(39。title(39。 endendU=U39。 for i=2:Mend%逐層求解for j=1:N U(1,j)=psi1(t(j))。endfor j=1:N+1 )end%計(jì)算初值和邊值U=zeros(M+1,N+1)。 disp(39。if r r=C*dt/dx/dx。%t的步長x=(0:M)*dx。end%計(jì)算步長dx=uX/M。 %[U x t]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C)。039。)。psi1=inline(39。sin(pi*x)39。C=1。M=15。 C 系數(shù),默認(rèn)情況下C=1%%應(yīng)用舉例:%uX=1。 M 沿x軸的等分區(qū)間數(shù)% psi1 邊值條件,定義為內(nèi)聯(lián)函數(shù)% uT 時(shí)間變量t的取值上限% x 空間變量% [原創(chuàng)]偏微分方程數(shù)值解法的MATLAB源碼【更新完畢】說明:由于偏微分的程序都比較長,比其他的算法稍復(fù)雜一些,所以另開一貼,專門上傳偏微分的程序謝謝大家的支持!其他的數(shù)值算法見:..//Announce/?BoardID=209amp。id=8245004古典顯式格式求解拋物型偏微分方程(一維熱傳導(dǎo)方程)function [U x t]=PDEParabolicClassicalExplicit(uX,uT,phi,psi1,psi2,M,N,C)%古典顯式格式求解拋物型偏微分方程%[U x t]=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)%邊值條件:u(0,t)=psi1(t), u(uX,t)=psi2(t)%%輸出參數(shù):U 解矩陣,第一行表示初值,第一列和最后一列表示邊值,第二行表示第2層……% t 時(shí)間變量%輸入?yún)?shù):uX 空間變量x的取值上限% phi 初值條件,定義為內(nèi)聯(lián)函數(shù)% psi2 邊值條件,定義為內(nèi)聯(lián)函數(shù)% N 沿t軸的等分區(qū)間數(shù)% uT=。N=100。%phi=inline(39。)。039。psi2=inline(39。)。%設(shè)置參數(shù)C的默認(rèn)值if nargin==7 C=1。%x的步長dt=uT/N。t=(0:N)*dt。%步長比r1=12*r。 r ,不穩(wěn)定39。for i=1:M+1 U(i,1)=phi(x(i))。 U(M+1,j)=psi2(t(j))。 U(i,j+1)=r*U(i1,j)+r1*U(i,j)+r*U(i+1,j)。 %作出圖形mesh(x,t,U)。古典顯式格式,一維熱傳導(dǎo)方程的解的圖像39??臻g變量 x39。時(shí)間變量 t39。一維熱傳導(dǎo)方程的解 U39。古典顯式格式不穩(wěn)定情況古典顯式格式穩(wěn)定情況古典隱式格式求解拋物型偏微分方程(一維熱傳導(dǎo)方程)function [U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)%古典隱式格式求解拋物型偏微分方程%[U x t]=PDEParabolicClassicalImplicit(uX,uT,phi,psi1,psi2,M,N,C)%%方程:u_t=C*u_xx 0