一个三元一次方程的解法,其中方程数大于三,并说明残差的计算,最好有MATLAB源程序.比如:x+y+

发布时间:2021-02-26 02:43:00

一个三元一次方程的解法,其中方程数大于三,并说明残差的计算,最好有MATLAB源程序.比如:x+y+z=1;x+2y+3z=4;5x+6y+7z=8;9x+10y+11z=12;的方程组的解.如果这个方程的秩为4,那么结果怎样,MATLAB程序怎样写,

网友回答

les.m文件:
function [x,res]=les(A,b)
% [x,res]=les(A,b)
% 解线性方程组,A为未知数系数矩阵,b为常数项列向量.
% 返回值,若解不唯一,返回基础解系,若无解,返回残差最小的一组特例.
% res为残差.
b=b(:); % 化成列向量
n=min(size(A,1),length(b)); % 求方程个数
A=A(1:n,:); b=b(1:n); % 去掉多余行
B=[A,b]; % 构成增广矩阵
ra=rank(A);
rb=rank(B); % 求秩
if ra==rb & ra==n % rank(A)=rank(B)=n %有唯一解
x=A\b;
res=norm(b-A*x)/norm(b); % 若res
======以下答案可供参考======
供参考答案1:
方程组对应的增广矩阵
A= 1,1,1,1
1,2,3,4
5,6,7,8
9,10,11,12
经过初等行变换可以化为
A1= 1,0,-1,-2
0,1,2,3
0,0,0,0
0,0,0,0
rank(A1)=2
令z=k 则x=k-2, y=3-2k
所以方程组的解为
x=k-2 y=3-2k
z=k 其中k为任意实数
残差不是统计学中的么...和三元一次方程是啥关系?
秩为4时无界.
Matlab的话, 更方便, 前三个组成方程组直接用克莱姆法则, 然后结果代入第四个验算. 因为秩为4, 所以代入以后等式不成立, 方程组无解
供参考答案2:
好ibl
以上问题属网友观点,不代表本站立场,仅供参考!