%Galerkin方法 clear all clc syms x;
A=zeros(4,4); for i=1:4
for j=1:4
phy1=x^i; phy2=x^j;
dphy1=diff(phy1,1); dphy2=diff(phy2,1); phy=pi^2*phy1*phy2; dphy=dphy1*dphy2;
A(i,j)=int(phy+dphy,x,0,1); end end D=[]; for k=1:4
f1=2*pi^2*sin(pi*x)+pi^3*x; f2=x^k; f=f1*f2;
D(k)=int(f,x,0,1); end D=D'; C=A\\D; C=C';
X=linspace(0,1,6); F=0; for i=1:4
F=F+C(i)*x^i; end for j=1:6
Y(j)=subs(F,X(j)); end
Y=Y-pi.*X; Y1=sin(pi.*X);
err=norm(abs(Y-Y1)); disp('数值解') disp(Y)
disp('整体误差') disp(err)
%%%%%%%%%追赶法 function x=chase(a,b,c,d) n=length(b); u(1)=c(1)/b(1); q(1)=d(1)/b(1); for i=2:n-1
h(i)=b(i)-u(i-1)*a(i-1); u(i)=c(i)/h(i);
q(i)=(d(i)-q(i-1)*a(i-1