📄 gauss2.m
字号:
function x = Gauss2(A, d)
n = length(d);
for i = 1 : n
dn(i) = i;
end
for i = 1 : n % each column
% make the first row the largest one
rowmax = i;
for j = i+1 : n
if A(j, i) > A(rowmax, i)
rowmax = j;
end
end
if rowmax ~= i
row = A(i, :);
A(i, :) = A(rowmax, :);
A(rowmax, :) = row;
row = dn(i);
dn(i) = dn(rowmax);
dn(rowmax) = row;
end
if A(i, i) == 0 then
error('zero in the first column.');
end
for j = i+1 : n % each row
k = - A(j, i) / A(i, i);
A(j, :) = A(j, :) + A(i, :) * k;
d(j, 1) = d(j, 1) + d(i, 1) * k;
end
end
x0 = zeros(n, 1);
x0(n) = d(n, 1) / A(n, n);
for i = n-1 : -1 : 1
x0(i) = (d(i, 1) - A(i, :) * x0) / A(i, i);
end
for i = 1 : n
x(dn(i)) = x0(i);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -