资源简介
求微分方程中两点边值问题的追赶赴,参考微分方程数值解
代码片段和文件信息
function a=ejcf(N)
format long
h=pi/N; x=h*[0:N];
U=@(m)(m*h+2*sin(m*h)); %真解
b=(h^2-2).*ones(N-11); %差分形式
a=zeros(N-21);
c=zeros(N-21);
for i=2:N-1
a(i-1)=1+(h^2/2)*i;
end
for j=1:N-2
c(j)=1-(h^2/2)*j;
end
A=diag(b)+diag(a-1)+diag(c1); %三对角矩阵(n-1)*(n-1)
f=@(m)(h^3.*(-2.*m.*cos(m.*h)));
u0=0;un=pi; %边值
f1=f(1)-(1+h/2)*u0;f_=f(N-1)-(1-(N-1)*h^2/2)*un;
ff=[f1f(2:N-2)f_];
u1=zgf(Aff)‘;
ue=[u0u1un]; %数值解
u=[U(0:N)]; %真解
er=abs(u-ue);
figure(1)
plot(xu‘r*‘xue‘.‘) %画图
legend(‘真解‘‘差分解‘‘Location‘‘best‘); %英文是把前面汉字放在合适位置
figure(2)
semilogy(xer‘*‘)
- 上一篇:掌纹有效区域提取
- 下一篇:matlab33节点程序代码
评论
共有 条评论