>> N=10;
h=1/N;
p=1;
q=1;
X=0:h:1;
A=zeros(N-1);
for  i=2:N-1
f3=@(ks)-p./h+h.*q.*ks.*(1-ks);
f2=@(ks)p./h+h.*q.*(ks.^2)+p./h+h.*q.*((1-ks).^2);
f1=@(ks)-p./h+h.*q.*ks.*(1-ks);
A(i-1,i)=quadl(f1,0,1);
A(i,i)=quadl(f2,0,1);
A(i,i-1)=quadl(f3,0,1);
end
A(1,1)=quadl(f2,0,1);
f=zeros(N-1,1);
for  i=2:N
f11=@(ks)(pi^2+1)((sin(X(i-1)+h.*ks)).*ks+(sin(X(i)+h.*ks)).*(1-ks));
f(i-1)=h*quadl(f11,0,1);
end
U=A\f;
dx=X;
precise_value=sin(pi*X);
plot(X,[0;U;0],'r:+',X,precise_value,'b--');
legend('数值解','精确解');
err=norm([0;U;0]-precise_value');
format  long
sprintf('Galerkin有限元法最大误差%f\n',err)
??? f11=@(ks)(pi^2+1)((sin(X(i-1)+h.*ks)).*ks+(sin(X(i)+h.*ks)).*(1-ks));
                     |
Error: Unbalanced or unexpected parenthesis or bracket.