⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 erweishuangqu.m

📁 在matlab环境下利用追赶法解线性方程组的算法实现
💻 M
字号:
function erweishuangqu(f,a,b,c,h,t,s0)
s=t/h;
m=1/h;
n=1/t;
for i=1:m+1
    x(i)=(i-1)*h;
    y(i)=(i-1)*h;
end
for k=1:n+1
    z(k)=(k-1)*t;
end
for i=1:m+1
    for j=1:m+1
        u(i,j,1)=a(x(i),y(j));
        u(i,j,2)=a(x(i),y(j))+t*b(x(i),y(j))+f(x(i),y(j),0);
    end
end
for k=3:2:n+1
    for j=1:m
    u(1,j,k)=c(x(1),y(j),z(k));
    u(m+1,j,k)=c(x(m+1),y(j),z(k));
    end
    for i=2:m
        u(i,1,k)=c(x(i),y(1),z(k));
        u(i,m+1,k)=c(x(i),y(m+1),z(k));
    end
end
for k=4:2:n+1
    for j=1:m+1
        u(1,j,k)=c(x(1),y(j),z(k))+u(1,j,2)-c(x(1),y(j),z(2));
        u(m+1,j,k)=c(x(m+1),y(j),z(k))+u(m+1,j,2)-c(x(m+1),y(j),z(2));
    end
    for i=2:m
        u(i,1,k)=c(x(i),y(1),z(k))+u(i,1,2)-c(x(i),y(1),z(2));
        u(i,m+1,k)=c(x(i),y(m+1),z(k))+u(i,m+1,2)-c(x(i),y(m+1),z(2));
    end
end
for k=2:n
    for j=2:m
        v(1,j-1)=-s*s/(2*t*t)*(u(1,j-1,k-1)+u(1,j+1,k-1)-2*u(1,j-1,k)-2*u(1,j+1,k)+u(1,j-1,k+1)+u(1,j+1,k+1))+(1-s*s)/(t*t)*u(1,j,k-1)-2*(1+s*s)/(t*t)*u(1,j,k)+(1-s*s)/(t*t)*u(1,j,k+1);
        

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -