이 페이지의 내용은 이전 릴리스에 관한 것입니다. 해당 영문 페이지는 최신 릴리스에서 제거되었습니다.
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 이전에 개발됨