MATLAB 超定方程组 最小二乘法

来源:互联网 发布:手机版打字软件 编辑:程序博客网 时间:2024/05/17 02:19

根据解的存在情况,线性方程可以分为:
有唯一解的恰定方程组, 
解不存在的超定方程组, 
有无穷多解的欠定方程组。

  对于方程组Ax=b,A为n×m矩阵,如果A列满秩,且n>m。则方程组没有精确解,此时称方程组为超定方程组。

线性超定方程组经常遇到的问题是数 据的曲线拟合。对于超定方程,在MATLAB中,利用左除命令(x=A\b)来寻求它的最小二乘解;

还可以用广义逆来求,即x=pinv(A),所得的解 不一定满足Ax=b,x只是最小二乘意义上的解。

左除的方法是建立在奇异值分解基础之上,由此获得的解最可靠;

广义逆法是建立在对原超定方程直接进行 householder变换的基础上,其算法可靠性稍逊与奇异值求解,但速度较快;

独立方程个数大于独立的未知参数的个数的方程,称为超定方程,在matlab里面有三种方法求解,
一是用伪逆法求解,x=pinv(A)*b,二是用左除法求解,x=A\b,三是用最小二乘法求解,
x=lsqnonneg(A,b)

(3)矩阵求逆

行数和列数相等的矩阵称为方阵,只有方阵有逆矩阵。方阵的求逆函数为:

B=inv(A)

该函数返回方阵A的逆阵。如果A不是方阵或接近奇异的,则会给出警告信息。

在实际应用中,很少显式的使用矩阵的逆。在MATLAB中不是使用逆阵x=inv(A)*B来求线性方程组Ax=B的解,

而是使用矩阵除法运算x=A\B来求解。因为MATLAB设计求逆函数inv时,采用的是高斯消去法,而设计除法解线性方程组时,

并不求逆,而是直接采用高斯消去法求解,有效的减小了残差,并提高了求解的速度。

因此,MATLAB推荐尽量使用除法运算,少用求逆运算。

(4)除法运算

在线性代数中,只有矩阵的逆的定义,而没有矩阵除法的运算。而在MATLAB中,定义了矩阵的除法运算。

矩阵除法的运算在MATLAB中是一个十分有用的运算。根据实际问题的需要,定义了两种除法命令:左除和右除。

矩阵左除:

C=A\B或C=mldivide(A,B)

矩阵右除;

C=A/B或C=mrdivide(A,B)

通常矩阵左除不等于右除,

如果A是方阵,A\B等效于A的逆阵左乘矩阵B。也就是inv(A)*B。

如果A是一个n*n矩阵,B是一个n维列向量,或是有若干这样的列的矩阵,则A\B就是采用高斯消去法求得的方程AX=B的解。

如果A接近奇异的,MATLAB将会给出警告信息。

如果A是一个m*n矩阵,其中m不等于n,B是一个m维列向量,或是由若干这样的列的矩阵,

则X=A\B是不定或超定方程组AX=B的最小二乘解。通过QR分解确定矩阵A的秩k,方程组的解X每一列最多只有k个非零元素。

如果k<n,方程的解是不唯一的,用矩阵除法求得的最小二乘解是这种类型解中范数最小的。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 澳洲coe被取消怎么办 父母不同意嫁远怎么办 家人不同意我们在一起怎么办 语言课申请不到怎么办 墨尔本大学均分不够怎么办 去澳洲旅游签证怎么办 换新护照澳大利亚签证怎么办 大学错过交学费日期怎么办 留学加拿大申请工签被拒怎么办 英国大学挂科怎么办 小孩子学不进去怎么办 大学生学不进去怎么办 高考没考上本科怎么办 想读书家里没钱怎么办 考上大学没钱上怎么办 儿子没考上大学怎么办 后悔没上大学怎么办 把学费花了怎么办 临床预科挂科怎么办 补录了预科怎么办 美国预科没过怎么办 出国留学报到证怎么办 本科绩点2.93怎么办 在美国被抢劫怎么办 去美国留学费用怎么办 被美国大学停学怎么办 雅思作文字数不够怎么办 英国选修课挂科怎么办 英国双申保证金怎么办 研究生挂科了怎么办 大一绩点没过2.0怎么办 美国留学生打工超时怎么办 ucl挂科了怎么办 硕士不会发论文怎么办 中兴今年招聘硕士生怎么办 rmit 语言班不过怎么办 非深圳户口怎么办护照 学位网学历认证怎么办 中国高中gpa低怎么办 函数毕业证丢了怎么办 加拿大大签过期怎么办