Dos incógnitas 3 ecuaciones
-
27-10-2019 - |
Pregunta
Tengo 3 eqns y 2 incógnitas HB y HBO2, se ven así:
Bxy = AB * HB + AB * HBO2
Rxy = ar * hb + ar * hbo2
Gxy = AG * HB + AG * HBO2
Ahora he estado tratando de usar un método de matriz para resolver las incógnitas para ellas ecuaciones, lo cual es un dolor en el culo porque cuando lo convierto en forma de matriz obtengo una matriz irregular porque son 2 incógnitas y 3 ecuaciones.
¿Alguien aquí sabe cómo resolver el número de ecuaciones con incógnitas N-1?
EDITAR
Gracias por las respuestas hasta ahora, han sido geniales.
Para ayudar a aclarar esto, lo que estoy tratando de hacer es resolver la concentración de sangre oxigenada y desoxigenada en un píxel dado en una imagen. Entonces las variables anteriores corresponden a las siguientes.
Rxy gxy y bxy, verde rojo o azul absorbido en la posición x, y. (valor entre 0 - 255)
AR, AG, AB es el coeficiente de absorción de la luz para las longitudes de onda roja de Geen y azul para la sangre. (Sin embargo, existe la posibilidad de que tenga que definir diferentes coeficientes de absorción para la sangre oxigenada y desoxigenada (ya que absorben diferentes cantidades de luz)).
Hb y HBO2 es la concentración de sangre oxigenada y desoxigenada. (Estos son desconocidos ya que estoy tratando de asignar los valores de RGB a esto)
Sin embargo, también he notado que los coeficientes para la sangre oxigenada y desoxigenada son diferentes, por lo que esto significa que la ecuación podría ser las siguientes.
Bxy = (abhb * hb) + (abhbo2 * hbo2)
Rxy = (arhb * hb) + (arhbo2 * hbo2)
Gxy = (aghb * hb) + (aghbo2 * hbo2)
La única diferencia en lo anterior es que los coeficientes son diferentes para la sangre oxigenada y desoxigenada.
Todo esto es parte de mi proyecto de último año en UNI para informática, tratando de hacer algunas imágenes funcionales.
@Chris hace la misma aplicación si hay diferentes coeficientes, perdón por la falta de comprensión, las matemáticas no son mi punto más fuerte. Solo trato de programar este algoritmo.
Solución
Lo que probablemente quieras es lo que se llama el Solución de mínimos cuadrados (consulte la sección sobre el problema general). Para resumir, no se le garantiza una solución exacta dependiendo de su A
y b
Cuando intentas resolver A*x=b
aquí.
Sin embargo, mediante la computación xLS = inv(A'*A)*A'*b
Obtendrá algo lo más cercano posible para una solución (en el sentido de mínimos cuadrados). Tenga en cuenta que A'
significa la transposición de A
. También tenga en cuenta que si A'*A
no es invertible, entonces su sistema de ecuaciones es deficiente en rango (eso significa que efectivamente tiene menos ecuaciones de lo que piensa).
Si usted tiene:
Bxy = (ABhb * HB) + (ABhbo2 * Hbo2)
Rxy = (ARhb * HB) + (ARhbo2 * Hbo2)
Gxy = (AGhb * HB) + (AGhbo2 * Hbo2)
Después:
A = [ ABhb ABhbo2
ARhb ARhbo2
AGhb AGhbo2 ];
x = [HB
Hbo2];
b = [Bxy
Rxy
Gxy];
Otros consejos
Si tiene n ecuaciones y incógnitas N-1, eso significa que puede eliminar una de las ecuaciones, es irrelevante y depende de las otras dos. Averigüe cuál es más fácil de eliminar, sustituye y luego te queda una matriz (N-1) X (N-1)
Suponiendo que hay una solución para las tres ecuaciones, es decir, se puede encontrar solo resolviendo dos de ellas para obtener las dos incógnitas.
En este caso, parece que todas sus ecuaciones son más o menos iguales, aparte de los coeficientes, por lo que no creo que importe cuál de los tres que elija excluir. Simplemente podría dejar caer la ecuación GXY y terminar con el par 2x2 de:
Bxy = AB * HB + AB * HBO2
Rxy = ar * hb + ar * hbo2
resultando en la matriz
AB AB
Ar ar
La epxresión HB+Hbo2
es lo mismo en las 3 ecuaciones, y puede ser reemplazado por z=HB+Hbo2
Haciendo las tres ecuaciones
B = AB*z
R = AR*z
G = AG*z
Para resolver para Z, haga un ajuste de mínimos cuadrados para encontrar
z = HB + Hbo2 = (AB*B+AG*G+AR*R)/(AB*AB+AG*AG+AR*AR)
y el error para cada componente como
dB = B - AB*z
dR = R - AR*z
dG = G - AG*z
Eso es todo lo que puedes hacer. De alguna manera tienes que decidir cómo dividir z
dentro HB
y Hbo2
. No se proporciona información sobre esto en la declaración del problema.