设定 N=100,a=3, b=40, T0=8, s=20x-4T Matlab 源程序代码:length=2;N=100;iterN=0;eps=1.0e-4;deltQ=2;T2=(1:N);T2(1)=8;T2(N)=1;dx=length/(N-2);while (deltQ>=eps && iterN<50) T=T2;for i=1:N k(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;for i=2:N-1 if i==2 a(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); else if i==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); else a(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; end endendif abs(b(1))<=abs(c(1)) || abs(b(N-2)<=abs(c(N-2))) warndla('²»Âú×ã×·¸Ï·¨Ìõ¼þ','¾¯¸æ£¡');endfor i=1:N-2 if abs(b(i))