求解三对角方程组的追赶法(Matlab程序)

原创 2012年03月30日 18:43:49

clear all;clc;
fprintf('输入n:(10,20,30)\n');
n=input('');
n
a=zeros(1,n);b=zeros(1,n);c=zeros(1,n-1);
A=zeros(n,n);
for i=1:n
    for j=1:n
        if j==i
            A(i,j)=2;
        elseif (j-i==-1)||(j-i==1)
            A(i,j)=1;
        else
            A(i,j)=0;
        end
    end
end
fprintf('系数矩阵:');A
fprintf('主对角线元素:');b=diag(A)'
fprintf('第1条对角线元素:');c=diag(A,1)'
fprintf('第-1条对角线元素:');a(2:n)=c
d=zeros(1,n);d(1)=1;d(n)=((-1)^(n+1));
fprintf('给定的系数矩阵(转置后):');d
y=zeros(n,1);x=y;
u=zeros(1,n);l=u;%u矩阵U的主对角线元素,l矩阵L的第-1条对角线元素
%---------追过程--------
u(1)=b(1);y(1)=d(1);
for i=2:n
    l(i)=a(i)/u(i-1);
    u(i)=b(i)-l(i)*c(i-1);
    y(i)=d(i)-l(i)*y(i-1);
end
fprintf('中间解向量:');y
fprintf('单位下三角阵L的第-1条对角线元素:');l
fprintf('上三角阵U的主对角线元素:');u  
U=zeros(n);
L=eye(n);
for i=1:n-1
    L(i+1,i)=l(i+1);
end
fprintf('单位下三角阵:');L    %单位下三角阵

for i=1:n-1
    U(i,i)=u(i);
    U(i,i+1)=c(i);
end
U(n,n)=u(n);
fprintf('上三角阵:');U    %上三角阵
%---------赶过程--------
x(n)=y(n)/u(n);
for i=n-1:-1:1
    x(i)=(y(i)-c(i)*x(i+1))/u(i);
end
fprintf('解向量:');x                                                     

数值分析 追赶法求解三对角线性方程组 MATLAB实现

函数主体部分编程算法  参考 数值分析 第四版 颜庆津 P27 运行结果截图: %追赶法求解三对角线性方程组,Ax=b,A用一维数组a,c,d存储。 function [L,U,x]=cr...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

追赶法解三对角线性方程组(Matlab)

%追赶法解三对角线性方程组 clear;clc A=[1,2,0,0,0;2,3,1,0,0;   0,-3,4,2,0;0,0,4,7,1;0,0,0,-5,6]; d=[5 9 2 19 ...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

追赶法求解三对角方程组

在这篇文章里,我们介绍追赶法的基本原理,以及用追赶法求解三对角方程组的算法....

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

平方根法和改进的平方根法解线性方程组(Matlab程序)

%定理2.2.3:对阵正定矩阵的楚列斯基(Cholesky)分解 %设A为n阶对阵正定矩阵,则存在一个可逆的下三角矩阵G,使得 %A=GG’,当限定G的对角元为正时,这种分解是唯一的 %----...

追赶法

//追赶法 #include #include #define N 4 //定义一个4*4的矩阵,改变N可以改变矩阵的大小 void TDMA(float a[N],flo...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:求解三对角方程组的追赶法(Matlab程序)
举报原因:
原因补充:

(最多只允许输入30个字)