Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2004
rsotolongo rsotolongo is offline
Miembro
 
Registrado: ene 2004
Posts: 14
Poder: 0
rsotolongo Va por buen camino
Angry Despeje de variable en expresión matemática

Alguno de ustedes sabe dónde puedo encontrar un componente que dado
una expresión matemática y una variable de la misma a ser despejada
me devuelva la nueva expresión. Por ejemplo:

Velocidad = Distancia / tiempo (V = S / t)

quiero despejar la distancia, el componente debería devolverme

Distancia = Velocidad * tiempo (S = V * t)

Pueden sugerirme también un algoritmo para hacerlo

Saludos...
Responder Con Cita
  #2  
Antiguo 12-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En un principio y suponiendo que solamente desees tres expresiones diferentes, construyes las 3 expresiones y las guardas por ejemplo en una matriz de 3 posiciones.

Le preguntamos al usuario que desea despejar y con un simple entero que representaría la opción elegida iríamos a la matriz a extraer la fórmula resultante:

nEleccion:=LoqueElija;

Edti1.Text:=MiArray[nEleccion];


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 12-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Supongo que sabrás que no todas las funciones pueden ser despejadas, ecuaciones sencillas como la tuya si, pero una cualquiera seguramente no.
Responder Con Cita
  #4  
Antiguo 12-06-2004
rsotolongo rsotolongo is offline
Miembro
 
Registrado: ene 2004
Posts: 14
Poder: 0
rsotolongo Va por buen camino
Unhappy Despejar variable en expresiones matemática

Disculpen si no me supe expresar bien pero la expresión no siempre va a tener tres variables sino cualquier cantidad.

Otra cosa, no entiendo cuando dices que en todas las expresiones se pueden despejar variables, pon algun ejemplo para comprender mejor
Responder Con Cita
  #5  
Antiguo 13-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Umhhh... pues por ejemplo cuando tengas polinomios tal que así:

xy^3+2y^2+y+x=0

o un sin fin de posibilidades. De hecho esto que quieres hacer nunca lo he visto: en programas matemáticas lo que se hace es ir dando valores x e y en la ecuacion implicita para poder representarla.

Lo dicho o restringes el tipo de funciones a unas facilitas, o es imposible...
Responder Con Cita
  #6  
Antiguo 13-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
Por cierto, existe una fórmula (de una cara) para despejar polinomios de orden 3, y también hay una para polinomios de orden 4 (de dos hojas), pero a partir de orden 5 es IMPOSIBLE. Además de que hubieses tenido que poner las formulas para estos casos particulares y se te hubiese ido al traste si metes un termino sen(y) o cos (y) por ejemplo.
Responder Con Cita
  #7  
Antiguo 13-06-2004
rsotolongo rsotolongo is offline
Miembro
 
Registrado: ene 2004
Posts: 14
Poder: 0
rsotolongo Va por buen camino
Unhappy

OK, digamos entonces que solo serán fórmulas que contengan solamente operadores básicos como / * + - pero eso sí, con cualquier cantidad de operandos

(x + 1) / (y + 3) = w - 2 * z

despejando x tenemos que:

x = (w - 2 * z) * (y + 3) - 1

o parecidas OK???
Responder Con Cita
  #8  
Antiguo 14-06-2004
Sirkius Sirkius is offline
Miembro
 
Registrado: jun 2004
Posts: 83
Poder: 20
Sirkius Va por buen camino
El problema es que a base de * puedes llegar de:

y*y*y*y*y*y*y = y^6

O sea, polinomios mayores de orden 4 sin posibilidad de despeje. Quitando el problema matematico de no poder poner de forma explicita cualquier funcion, has pensando en lo complicadisimo que puede ser un algoritmo que haga eso??
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 17:17:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi