Resolucion de sistemas de ecuaciones sencillos

Iniciado por Debci, 31 Marzo 2010, 10:55 AM

0 Miembros y 1 Visitante están viendo este tema.

Debci

Hola a todos, ya tengo mi procesador de expresiones algebraico-aritmeticas, resuelve expreiones facilmente, ahora quiero dar el paso y conseguir hacerlo con expresiones de dos miembros, osease, ecuaciones con 1 o mas incognitas.

Tengo por ejemplo esta expresion:

Citar5*49/2*a == 15
La evaluo, proceso y me pide un valor para a se lo doy y si no cumple la expresión, devuelve 0 (false) si la cumple devuelve 1 (true).
Ahora estoy planteando una manera de aislar la incognita en uno de los miembros de la ecuacion, para resolverla, añadirla ala expresion inicial y comprovar que es correcta.
La pregunta es como?

He imaginado 3 maneras posibles:

La primera, es haciendo el bestia, y usando puerza bruta, aunmentando la variable de 0,001 en 0,001 e ir probando pero será muy inexacto y es probable que en muchas ocasiones no lo encuentre, eso sin contar con el uso de memoria que requeriria un bucle de ese nivel.

La segunda es identificando el grado de la ecuacion, aislar las incognitas y aplicar la formula correspondiente.

La tercera es haciendolo literalmente, osea moviendo caracteres por la cadena, y detectando el simbolo que lleva para luego dejar la incognita sola y evaluar la expresión. Esto eliminando posibilidades puede resultar muy tedioso de programar, y quizas, que estoy seguro que habrá metodos mas sencillos que estos.

Un saludo

h0oke

Lo más recomendable sería usar el concepto de sistema de ecuaciones. Podrías utilizar el método de gauss, hallando un cuadro de números y resolviendo tal... es sólo una idea.

Debci

Cita de: algorythm en 31 Marzo 2010, 11:26 AM
Lo más recomendable sería usar el concepto de sistema de ecuaciones. Podrías utilizar el método de gauss, hallando un cuadro de números y resolviendo tal... es sólo una idea.
Ok investigare sobre el tema, pero para un sistema de ecuaciones no tiene que haber mas de una ?

Saludos

h0oke

#3
En general un sistema de ecucaciones es un sistema con m ecuaciones y n incógnitas... Lo cuál te permitirá generalizar tu caso para varias ecucaciones.... Ahora bien, si trasladas tu sistema a una matriz, podrás ver que la forma de calcular la incógnita es la misma que calculando para varias ecuaciones con una sola "x". Deberás tener en cuenta si el sistema es homogéneo o no, para ver si tu sistema antes que nada posee o no solución. Una sugerencia: busca sobre el teorema de Roché Frobeniuss...

No sé si es la mejor opción computacional, pero la verdad que en cuanto a matemáticas es lo mejor que puedes hacer.

1mpuls0

Es mejor usar los métodos numéricos  :xD, mira aquí te dejo un code a ver si te sirve o "algo"  :xD

Es para dar solucion a Sistemas de Ecuaciones Lineales por medio de los métodos de Gauss-Seidel y Jacobi, mira esta página para que entiendas un poco de que se trata

http://www.geronet.com.ar/?p=6

Aquí descarga el code

http://laquetegustaati.com.mx/D929/SSEL.zip



Saludos
abc

sapito169

-esplicate vien
-dame un ejemplo dime que es lo que va a recivir tu programa y que deve botar por resultado
-creo que quieres decir que si le pones una cadena como "2*x+3==5" deve devolver 1



Debci

Cita de: sapito169 en  1 Abril 2010, 02:42 AM
-esplicate vien
-dame un ejemplo dime que es lo que va a recivir tu programa y que deve botar por resultado
-creo que quieres decir que si le pones una cadena como "2*x+3==5" deve devolver 1



asi es.

Saludos