4 votos

Cómo encontrar la solución positiva mediante LSQR método?

Estoy tratando de resolver el unsymmetric ecuación de $AX=B$.

$A$ $8\times10$ matriz, $X$ $B$ ambos $10\times1$ matrices.

Pero la solución de $x$ es una capacitancia; es un valor positivo.

Un valor negativo es imposible.

Si puedo usar esta función de matlab...

Será en algún momento me dan valor negativo soluciones, dependiendo del punto inicial que yo elija.

Hay alguna manera de que yo pueda cambiar el algoritmo de hacer es encontrar valores positivos?

O es que hay otro método numérico que puede que me haga llegar las soluciones positivas?

1voto

Rob Dickerson Puntos 758

Que están tratando de resolver un no-negativos mínimos cuadrados problema:

$$\min_x \|Ax-b\|^2\qquad \textrm{s.t.}\qquad x\geq 0.$$

A solution exists to your original problem if and only if the solution $\tilde{x}$ of this NNLS problem has residual $\|A\tilde{x}-b\|^2=0$. If $\|Un\tilde{x} de {- b\|^2 > 0$, no hay ninguna solución a su problema original.

Tenga en cuenta que dado que el sistema se underconstrained, es posible que tu problema tiene una infinidad de soluciones positivas. La mayoría de los NNLS códigos solo va a encontrar uno.

Si usted está usando Matlab, echa un vistazo a la función lsqnonneg. Bueno, libre C implementaciones de NNLS son sorprendentemente difíciles de conseguir, pero BCLS (http://www.cs.ubc.ca/~mpf/bcls/) va a trabajar en un apuro.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X