• 大小: 1KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: Matlab
  • 标签: 追赶法  

资源简介

求微分方程中两点边值问题的追赶赴,参考微分方程数值解

资源截图

代码片段和文件信息

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‘*‘)

评论

共有 条评论

相关资源