Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asignación de unidades #40

Open
xmagor opened this issue Apr 26, 2020 · 5 comments
Open

Asignación de unidades #40

xmagor opened this issue Apr 26, 2020 · 5 comments
Assignees

Comments

@xmagor
Copy link
Collaborator

xmagor commented Apr 26, 2020

Hacer amigable la asignación de unidades ( permitir colocar una unidad a múltiples variables por ejemplo; Para asignaciones directas donde el usuario coloque la unidad, automáticamente asignar esa unidad a la variable )

@xmagor xmagor self-assigned this Apr 26, 2020
xmagor added a commit that referenced this issue May 10, 2020
-Check if unit enter is an allowed unit, else notify and restore the last valid unit.
-Allow put the same unit to multiple variables in varstable, only have to hold selected all variables to change using CTR or SHIFT.
-Enter key works to go down in varstable's rows and edit.
@xmagor
Copy link
Collaborator Author

xmagor commented May 10, 2020

@jon85p ando pensado dónde hacer la asignación de la unidad, tengo cómo tentativo en la función:

pyENL/pyENL.py

Line 593 in 4f7aec0

self.actualizaInfo()

Pero no estoy seguro; por otro lado aparte de asignar la unidad podríamos asignar el guess también, cuando revisaba el proceso de calculo de los bloques, a veces daba mucho rodeo en encontrar el valor de algo como T = 50.
Bueno lo otro es identificar que una ecuación cumple la condición de "asignación directa" .

Qué opina?

@xmagor
Copy link
Collaborator Author

xmagor commented Dec 28, 2020

Por ahora he pensado en cómo detectar una función constante (ya que solo a esas se les va a asignar automaticamente la unidad si el usuario la escribe en la caja de texto); la ecuación debería cumplir las siguientes condiciones:

  1. Solo hay una variable en la ecuación.
  2. Solo hay 2 términos en la ecuación (validando el número de signos + - sale ésta.
  3. La variable no está repetida.
  4. La variable no tiene ningún factor diferente de 1 acompañandola.

Esas 4 condiciones se podrían implementa en :

pyENL/utils.py

Line 245 in 56e4298

def cantidadEqnVar(texto_caja):

ya que ahí ud tiene un bucle que barre ecuación por ecuación.

Pero la verdad me parecen muchas condiciones, alguna idea de cómo identificar esas funciones constantes despejadas?

@xmagor
Copy link
Collaborator Author

xmagor commented Jan 1, 2021

Para la primera beta se asignaran automaticamente las unidades de las funciones constantes que estén asignadas directamente:

a = 5 [cm]
-a = 15*8 [m2]

xmagor added a commit that referenced this issue Jan 10, 2021
- After validate if the unit is defined, directly assign it to the
 variable
xmagor added a commit that referenced this issue Jan 13, 2021
-Assign automatically unit’s variables for constant function
written in textbox with units
-If the variable is solved, also it’s possible assign the guess
-For now, it’s not working if the variable is solved on the left side
@jon85p
Copy link
Owner

jon85p commented Jan 26, 2021

Sería bueno que no se cambiara las unidades de una variable si el usuario ya la definió, es decir que sea dimensionless.
Me pasó con un ejercicio, que tenía
`v = 5[km/h]

d = 10[km]

d = v*t`
Y en la tabla de unidades tenía d en metros, t en s y v en m/s.
Al calcular me cambió la velocidad a km/h

¿Qué opina?

jon85p added a commit that referenced this issue Jan 26, 2021
@xmagor
Copy link
Collaborator Author

xmagor commented Jan 26, 2021

Estoy de acuerdo; que el usuario pueda colocar la unidad a su gusto es una carácteristica del solucionador, se me pasó por alto eso, se podría hacer que se tome la unidad de la caja de texto solamente cuando en la tabla de unidades la variable se encuentre adimensional

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants