天气: 晴朗
心情: 高兴
在某些条件下,所求的线性方程组的解出现负数是没有意义的。虽然方程组可以得到精确解,但却不能取负值解。在这种情况下,其非负最小二乘解比方程的精确解更有意义。在MATLAB中,求非负最小二乘解常用函数nnls,其调用格式为:
(1)X=nnls(A,b)返回方程Ax=b的最小二乘解,方程的求解过程被限制在x?????的条件下;
(2)X=nnls(A,b,TOL)指定误差TOL来求解,TOL的默认值为TOL=max(size(A))*norm(A,1)*eps,矩阵的-1范数越大,求解的误差越大;
(3)[X,W]=nnls(A,b)?当x(i)=0时,w(i)<0;当下x(i)>0时,w(i)0,同时返回一个双向量w。