3 votos

Resolver numérica del sistema de ecuaciones no lineales?

Necesito resolver un sistema no lineal de ecuaciones que se parece a esto

$$\frac{1}{n_4}(\frac{c_4}{b_4R}-\ln(1-x_1-x_2-x_3))=\frac{1}{n_3}(\frac{c_3}{b_3R}-\ln(x_3))=\frac{1}{n_2}(\frac{c_2}{b_2R}-\ln(x_2))=\frac{1}{n_1}(\frac{c_1}{b_1R}-\ln(x_1)) $$

El equivalente numérico de lo que estoy tratando de resolver ahora es

$$\frac{4100}{4100/297-1.987\ln(x_1)}=\frac{6200}{6200/303-1.987\ln(x_2)}=\frac{7000}{7000/327.5-1.987\ln(x_3)}=\frac{4100}{4100/404-1.987\ln(1-x_1-x_2-x_3)} $$

Qué algoritmo se debe usar para resolver esto? Si alguien puede solucionar esto, podría publicar cómo lo hizo? He intentado utilizar un multivariable de newton del algoritmo, pero mi jacobiana explotó

4voto

Claude Leibovici Puntos 54392

Sugerencia

Creo que podría reducir el problema a una ecuación de una sola variable.

Supongamos que usted defina $$A=\frac{1}{n_4}(\frac{c_4}{b_4R}-ln(1-x_1-x_2-x_3))$$ So, you have $$A=\frac{1}{n_3}(\frac{c_3}{b_3R}-ln(x_3))=\frac{1}{n_2}(\frac{c_2}{b_2R}-ln(x_2))=\frac{1}{n_1}(\frac{c_1}{b_1R}-ln(x_1))$$ So $x_1,x_2,x_3$ can be expressed as a function of $Un$ $$x_i(A)=\exp({\frac{c_i}{b_i~ R}-A~ n_i})$$ and you end with a single nonlinear equation $A=f(A)$ where only $$ aparece. $$A=\frac{1}{n_4}(\frac{c_4}{b_4R}-ln(1-x_1(A)-x_2(A)-x_3(A)))$$

Usted puede notar que su ecuación en $A$ escribir $$F(A)=\sum _{i=1}^{i=4} \exp({\frac{c_i}{b_i~ R}-A~ n_i})=1$ $ , que, más que probablemente, sería mucho mejor acondicionado si es por escrito $$G(A)=\log \Big(\sum _{i=1}^{i=4} \exp({\frac{c_i}{b_i~ R}-A~ n_i}) \Big )=0$$ Assuming all $n_i>0$, this shows that an upper bound of $$ corresponds to the maximum,over $i$, of the $(\frac {c_i}{n_i~b_i~R})$ terms. This gives a starting value for unknown $$.

Solucionamos $A$ (método de Newton parece ser muy apropiado) e ir hacia atrás para conseguir $x_1,x_2,x_3$.

De tal manera, usted puede darse cuenta de que usted podría tener tantas ecuaciones como usted podría desear y aplicar el mismo procedimiento.

Utilizando los datos de tu problema, podemos encontrar fácilmente que la solución es $A=271.069$ de la $x_1=0.514479,x_2=0.297290,x_3=0.106527$ cuales son sus respuestas.

3voto

Baklava Gain Puntos 101

Ok de hecho, encontré la respuesta y simplemente voy a compartir ya que nadie ha publicado aún

$x_1=.514, x_2=.297, x_3=.107$

Reorganizar la ecuación para facilitar la Jacobiana

$$\frac{4100/(1.987*297)-ln(x_1)}{4100/1.987}=\frac{6200/(1.987*303)-ln(x_2)}{6200/1.987}=\frac{7000/(1.987*327.5)-ln(x_3)}{7000/1.987}=\frac{4100/(1.987*404)-ln(1-x_1-x_2-x_3)}{4100/1.987} $$

La construcción de un sistema de ecuaciones en la forma de $f_i(x_1,x_2,x_3)=0$ $i=1,2,3$

$$f_1(x_1,x_2,x_3)=\frac{4100/(1.987*297)-ln(x_1)}{4100/1.987}-\frac{4100/(1.987*404)-ln(1-x_1-x_2-x_3)}{4100/1.987} $$ $$ f_2(x_1,x_2,x_3)=\frac{6200/(1.987*303)-ln(x_2)}{6200/1.987}-\frac{4100/(1.987*404)-ln(1-x_1-x_2-x_3)}{4100/1.987} $$ $$ f_3(x_1,x_2,x_3)=\frac{7000/(1.987*327.5)-ln(x_3)}{7000/1.987}-\frac{4100/(1.987*404)-ln(1-x_1-x_2-x_3)}{4100/1.987} $$

$$F(X)=[f_1(x_1,x_2,x_3),f_2(x_1,x_2,x_3),f_3(x_1,x_2,x_3)]^T $$ $$X=[x_1,x_2,x_3]^T $$

Construir Jacobiana para el sistema

$$ F'(X)=[\frac{\partial f_1}{\partial x_1},\frac{\partial f_1}{\partial x_2},\frac{\partial f_1}{\partial x_3};\frac{\partial f_2}{\partial x_1},\frac{\partial f_2}{\partial x_2},\frac{\partial f_2}{\partial x_3};\frac{\partial f_3}{\partial x_1},\frac{\partial f_3}{\partial x_2},\frac{\partial f_3}{\partial x_3}] $$

Solucionar $F(X)=-F'(X)H$ $H$ usando eliminación Gaussiana

Actualización de $X$ mediante $X^{(k+1)}=X^{(k)}+H^{(k)}$, en este caso el uso de $X=[.01,.01,.01]^T$

Repita hasta que llegó aceptable de error de enlazado

Mi jacobiana explotó porque no me dan una buena estimación inicial, pero luego supuse ligeramente menor y todo lo que ha trabajado.

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