### Matlab追赶法求解三角行线性方程组
```matlab
% 定义系数矩阵A和右侧向量b
A = [4, -1, 0, 0, 0, 0, 0, 0, 0, 0;
-1, 4, -1, 0, 0, 0, 0, 0, 0, 0;
0, -1, 4, -1, 0, 0, 0, 0, 0, 0;
0, 0, -1, 4, -1, 0, 0, 0, 0, 0;
0, 0, 0, -1, 4, -1, 0, 0, 0, 0;
0, 0, 0, 0, -1, 4, -1, 0, 0, 0;
0, 0, 0, 0, 0, -1, 4, -1, 0, 0;
0, 0, 0, 0, 0, 0, -1, 4, -1, 0;
0, 0, 0, 0, 0, 0, 0, -1, 4, -1;
0, 0, 0, 0, 0, 0, 0, 0, -1, 4];
b = [7; 5; -13; 2; 6; -12; 14; -4; 5; -5];
% 初始化变量
n = length(b);
l = zeros(n,1);
u = zeros(n,1);
y = zeros(n,1);
x = zeros(n,1);
% 追赶法求解
l(1) = A(1,1);
u(1) = A(1,2) / l(1);
y(1) = b(1) / l(1);
for i = 2:n
l(i) = A(i,i) - A(i,i-1) * u(i-1);
u(i) = A(i,i+1) / l(i);
y(i) = (b(i) - A(i,i-1) * y(i-1)) / l(i);
end
x(n) = y(n);
for i = n-1:-1:1
x(i) = y(i) - u(i) * x(i+1);
end
% 显示结果
disp('解为:');
disp(x);
% 计算误差
error = norm(A*x - b);
disp(['方程组的误差为:', num2str(error)]);
这段Matlab程序实现了追赶法求解三角行线性方程组的功能,并计算了解的误差。你可以将这段代码复制粘贴到Matlab中运行,得到解和误差的结果。
|