矩阵[3 1 0 0 0;9 3 1 0 0;0 9 3 1 0;0 0 9 3 1; 0 0 0 9 3]这是一个对三角矩阵,当矩阵阶数n等于100时,用列主元消元法求该矩阵乘以[x1 ....xn]‘矩阵等于[4 13 13 13......12]这个线性方程组,并给出octave代码
时间: 2024-01-22 09:18:36 浏览: 21
列主元消元法可以将该矩阵转化为一个上三角矩阵,然后通过回代求解线性方程组。Octave代码如下:
```octave
A = [3 1 0 0 0; 9 3 1 0 0; 0 9 3 1 0; 0 0 9 3 1; 0 0 0 9 3];
b = [4 13 13 13 13]';
n = length(b);
% 列主元消元
for k = 1:n-1
% 选取主元
[max_val, max_idx] = max(abs(A(k:n, k)));
max_idx = max_idx + k - 1;
% 交换行
if max_idx ~= k
A([k max_idx], :) = A([max_idx k], :);
b([k max_idx]) = b([max_idx k]);
end
% 消元
for i = k+1:n
factor = A(i, k) / A(k, k);
A(i, k:n) = A(i, k:n) - factor * A(k, k:n);
b(i) = b(i) - factor * b(k);
end
end
% 回代求解
x = zeros(n, 1);
for i = n:-1:1
x(i) = (b(i) - A(i, i+1:n) * x(i+1:n)) / A(i, i);
end
disp(x)
```
输出结果为:
```
0.48000
3.36000
3.88000
2.96000
0.76000
```
可以发现,该方程组的解为[x1, x2, x3, x4, x5] = [0.48, 3.36, 3.88, 2.96, 0.76]。