文档介绍:设定N=100,a=3,b=40,T0=8,s=20x-4TMatlab源程序代码:length=2;N=100;iterN=0;eps=-4;deltQ=2;T2=(1:N);T2(1)=8;T2(N)=1;dx=length/(N-2);while(deltQ>=eps&&iterN<50)T=T2;fori=1:Nk(i)=3*T(i)^3;sc(i)=20*(i-1)/N;sp(i)=4;endk(N/2+1:N)=40*T(N/2+1:N).^3;fori=2:N-1ifi==2a(i-1)=-2*k(i)/dx;c(i-1)=-2*k(i)*k(i+1)/dx/(k(i)+k(i+1));b(i-1)=-a(i-1)-c(i-1)-sp(i)*dx;d(i-1)=sc(i)*dx-a(i-1)*T(i-1);elseifi==N-1;a(i-1)=-2*k(i)*k(i-1)/dx/(k(i)+k(i-1));c(i-1)=-2*k(i+1)/dx;b(i-1)=-a(i-1)-c(i-1)-sp(i)*dx;d(i-1)=sc(i)*dx-c(i-1);elsea(i-1)=-2*k(i)*k(i-1)/dx/(k(i)+k(i-1));c(i-1)=-2*k(i)*k(i+1)/dx/(k(i)+k(i+1));b(i-1)=-a(i-1)-c(i-1)-sp(i)*dx;d(i-1)=sc(i-1)*dx;endendendifabs(b(1))<=abs(c(1))||abs(b(N-2)<=abs(c(N-2)))warndla('²»Âú×ã×·¸Ï·¨Ìõ¼þ','¾¯¸æ£¡');endfori=1:N-2ifabs(b(i))<abs(c(i)+abs(a(i)))warndla('²»Âú×ã×·¸Ï·¨Ìõ¼þ','¾¯¸æ£¡');