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

📄 adisolve.m

📁 用于计算脉冲激光照射下物体的温度分布
💻 M
字号:
function N =ADISolve(Ao,No)
%    使用交替方向块迭代法求解二维代数方程组
%    输入: 包含系数&非齐次项的矩阵A和上一个时层的函数值No
%    输出: 函数值向量N
%
%
global L1 M1; 
N=No;
%对z方向逐行使用thomas函数求值
%for m=1:2,
for j=2:M1-1,
    AP=Ao([L1*(j-1)+1:L1*j],1);
    AE=-1*Ao([L1*(j-1)+1:L1*j],2);
    AW=-1*Ao([L1*(j-1)+1:L1*j],3);
    AN=-1*Ao([L1*(j-1)+1:L1*j],4);
    AS=-1*Ao([L1*(j-1)+1:L1*j],5);
    AA=[AP,AE,AW];%系数矩阵

    b1=Ao([L1*(j-1)+1:L1*j],7);
    NN=N([L1*(j)+1:L1*(j+1)]);%N方向的下一列结点值
    NS=N([L1*(j-2)+1:L1*(j-1)]);%S方向的上一列结点值
    b2=AN.*NN+AS.*NS;
    b=b1-b2;%非齐次项

    Nt=thomas(AA,b);
    N([L1*(j-1)+1:L1*j])=Nt;
end 

%对r方向逐行使用thomas函数求值
for i=2:L1-1,
    AP=Ao([L1*(M1-1)+i:-L1:i],1);
    AE=-1*Ao([L1*(M1-1)+i:-L1:i],2);
    AW=-1*Ao([L1*(M1-1)+i:-L1:i],3);
    AN=-1*Ao([L1*(M1-1)+i:-L1:i],4);
    AS=-1*Ao([L1*(M1-1)+i:-L1:i],5);
    AA=[AP,AS,AN];%r方向系数矩阵
    
    b1=Ao([L1*(M1-1)+i:-L1:i],7);
    NE=N([L1*(M1-1)+i+1:-L1:i+1]);
    NW=N([L1*(M1-1)+i-1:-L1:i-1]);
    b2=AE.*NE+AW.*NW;
    b=b1-b2;%非齐次项
    
    Nt=thomas(AA,b);
   % Nt(end+1)=Nt(end);
    N([L1*(M1-1)+i:-L1:i])=Nt;
end
i=1;
  AP=Ao([L1*(M1-1)+i:-L1:i],1);
    AE=-1*Ao([L1*(M1-1)+i:-L1:i],2);
    AW=-1*Ao([L1*(M1-1)+i:-L1:i],3);
    AN=-1*Ao([L1*(M1-1)+i:-L1:i],4);
    AS=-1*Ao([L1*(M1-1)+i:-L1:i],5);
    AA=[AP,AS,AN];%r方向系数矩阵
    
    b=Ao([L1*(M1-1)+i:-L1:i],7);%非齐次项
    Nt=thomas(AA,b);
    % Nt(end+1)=Nt(end);
    N([L1*(M1-1)+i:-L1:i])=Nt;

    %end

⌨️ 快捷键说明

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