%fun1.m function f=fun1(x) f=sin(pi*x); %fun2.m function f=fun2(x) f=0; %fun3.m function f=fun3(x) f=0; %gdxs.m function u=gdxs(fun1,fun2,fun3,r,n,x) m=length(x); u=zeros(m,n); u(:,1)=fun1(x); u(1,:)=fun2(x); u(m,:)=fun3(x); for j=1:n for i=2:m-1 u(i,j+1)=(1-2*r)*u(i,j)+r*(u(i+1,j)+u(i-1,j)); end end %main1.m clear clc h=0.1; r=5/11; n=100; x=0:h:1; u=gdxs(@fun1,@fun2,@fun3,r,n,x); for j=80:2:n plot(x,u(:,j),'-r') hold on end 本文来源:https://www.wddqw.com/doc/06fbda56aaea998fcc220e9e.html