输入方程组的系数矩阵和常数向量A = 223; 477; -245;b = 3; 1; -7;使用matlab编写程序:使用高斯-若尔当消去法求解三阶方程组先将增广矩阵进行输出并将最后的对角增广矩阵输出该对角矩阵为除主元素外全为0。再将结果进行输出都要格式化
为小数点后两位。
代码如下:
% 输入方程组的系数矩阵和常数向量 A = [2,2,3; 4,7,7; -2,4,5]; b = [3; 1; -7];
% 构造增广矩阵 Ab = [A, b];
% 输出增广矩阵 disp('增广矩阵为:'); disp(Ab);
% 高斯-若尔当消去法求解方程组 n = size(A, 1); % 方程组的阶数 for i = 1:n-1 % 外层循环,控制主元位置 for j = i+1:n % 内层循环,消元 m = Ab(j,i) / Ab(i,i); % 计算消元系数 Ab(j,:) = Ab(j,:) - m * Ab(i,:); % 消元 end end
% 输出对角增广矩阵 disp('对角增广矩阵为:'); disp(Ab);
% 回代求解方程组 x = zeros(n, 1); % 存储方程组的解 x(n) = Ab(n,n+1) / Ab(n,n); % 先求出最后一个未知数的解 for i = n-1:-1:1 % 从后往前依次求解未知数 x(i) = (Ab(i,n+1) - Ab(i,i+1:n) * x(i+1:n)) / Ab(i,i); end
% 输出方程组的解 disp('方程组的解为:'); disp(x);
% 格式化输出 format shortG; disp('增广矩阵为:'); disp(Ab); disp('对角增广矩阵为:'); disp(Ab); disp('方程组的解为:'); disp(x)
原文地址: http://www.cveoy.top/t/topic/cz7F 著作权归作者所有。请勿转载和采集!