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

📄 gauss_solve.m

📁 最小二乘实现多项式拟合
💻 M
字号:
function solution = Gauss_solve(A)
%高斯列主消元法解方程组
%输入参数:增广矩阵
%输出参数:方程组的解

[n,m] = size(A);

%消元
for k = 1:(n-1)
    [a_rk,r] = max(abs(A(k:n,k)));
    r = r + k - 1;
    if a_rk==0
        disp('方程错误,第r列元素全为0.');
        disp(r);
        return;
    else
        temp = A(r,:);
        A(r,:) = A(k,:);
        A(k,:) = temp;
        for i = (k+1):n
            scale(i-k) = A(i,k)/A(k,k);
            for j = (k+1):(n+1)
                A(i,j) = A(i,j) - scale(i-k) * A(k,j);
            end
        end
    end
end

%回代
x(n) = A(n,n+1) / A(n,n);
for  i = (n-1):-1:1
    sum = 0;
     for j = (i+1):n
        sum = sum + A(i,j) * x(j);
     end
     x(i) = (A(i,n+1) - sum) / A(i,i);
end
solution = x;

⌨️ 快捷键说明

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