lsqnonneg
음이 아닌 선형 최소제곱 문제 풀기
구문
설명
다음 형식의 음이 아닌 최소제곱 곡선 피팅 문제를 풉니다.
참고
lsqnonneg
솔버는 솔버 기반 접근법에만 적용됩니다. 두 가지 최적화 접근법에 대한 설명은 먼저 문제 기반 접근법 또는 솔버 기반 접근법 중 선택하기 항목을 참조하십시오.
예제
입력 인수
출력 인수
팁
d
의 길이가 20을 초과하는 문제의 경우lsqlin
이lsqnonneg
보다 빠를 수 있습니다.d
의 길이가 20 미만인 경우에는 일반적으로lsqnonneg
가 더 효율적입니다.C
의 행 개수가 열 개수보다 더 많을 때(즉, 과결정 시스템임) 솔버 간에 변환하려는 경우[x,resnorm,residual,exitflag,output,lambda] = lsqnonneg(C,d)
는 다음과 동일합니다.
[m,n] = size(C); [x,resnorm,residual,exitflag,output,lambda_lsqlin] = ... lsqlin(C,d,-eye(n,n),zeros(n,1));
유일한 차이점은 해당하는 라그랑주 승수의 부호가 반대라는 점입니다(즉,
lambda = -lambda_lsqlin.ineqlin
).
알고리즘
lsqnonneg
에 사용되는 알고리즘은 [1]에 설명되어 있습니다. 이 알고리즘은 가능한 일련의 기저 벡터로 시작하며 관련 쌍대 벡터 lambda
를 계산합니다. 그런 다음 다른 가능한 후보와 기저를 교환하기 위해 lambda
의 최댓값에 해당하는 기저 벡터를 선택합니다. 이 작업은 lambda ≤ 0
가 될 때까지 계속됩니다.
대체 기능
앱
최적화 라이브 편집기 작업은 lsqnonneg
에 대한 시각적 인터페이스를 제공합니다.
참고 문헌
[1] Lawson, C. L. and R. J. Hanson. Solving Least-Squares Problems. Upper Saddle River, NJ: Prentice Hall. 1974. Chapter 23, p. 161.
확장 기능
버전 내역
R2006a 이전에 개발됨