Error en bucle WHILE

Started by jesusmor, 10 de December de 2019, 07:02:47 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jesusmor

Buenas, aunque soy ingeniero mecánico me he decidido a contactaros puesto que tenéis bastantes consultas en MATHCAD.


Os cuento mi caso a ver si a alguien le ha ocurrido algo parecido.


Estoy preparando un programa para resolver un cambiador de calor, empezando de abajo hacia arriba, empezamos en flujo monofásico y según vamos subiendo podemos llegar a bifásico o no, dependiendo de una serie de condiciones, hasta aquí todo normal, la estructura del programa ya la tengo y funciona más o menos bien y los resultados son congruentes.


El problema viene cuando tengo que cambiar algo en un bucle WHILE, introduzco una sentencia, por sencilla que sea y me da fallo, sale el siguiente mensaje de error "Ldtoken, Ldftn y Ldvirtftn OpCodes no pueden tener DynamicMethod como destino", le he pegado mil vueltas y no consigo ni solucionar el error ni saber que puede pasar, alguien sabe porque puede ser?.


Utilizo el MATHCAD 14

Si alguien quiere saber más puedo compartir pantallazos.

Gracias y un saludo, Jesús

pannus0

la opción esta ubicada en la parte inferior izquierda (+)
si alguien va en tu ayuda agradecer no cuesta nada , solo hazlo con el icono que dice "Thank you"

jesusmor

Quote from: pannus0 on 10 de December de 2019, 12:17:50 PM
la opción esta ubicada en la parte inferior izquierda (+)


Disculpa, no te entiendo, podrías darme más pistas?

jesusmor

#3
Buenas, os comento lo que he ido haciendo, un compañero (no del foro) me dijo que podría ser problema del vector de resultados, y que tuviera cuidado con las unidades, probé lo del vector de resultados asignándole al programa una salida única pero no funcionó, y en cuanto al tema de las unidades ya me dieron algún problema cuando empecé y decidí quitarlas, o sea que por aquí nada.

Seguí indagando por mi cuenta y he visto varias cosas, el problema del "Ldtoken, Ldftn y Ldvirtftn OpCodes no pueden tener DynamicMethod como destino" que no me dejaba añadir más líneas al bucle lo he podido solucionar poniendo en la asignación variables que ya estaban utilizadas dentro del bucle, es decir no me deja añadir variables "nuevas", aunque estén definidas arriba fuera del bucle, ¿Sabeis por qué puede ser esto?. En principio podría ser una solución, pero estoy empezando con la zona bifásica y es donde viene lo complicado, si empiezo a "reutilizar" variables el programa se puede convertir en un jeroglífico.

Otra cosa que me he dado cuenta es que en el vector de resultados, si hago referencia a una variable que se calcula en el bucle y aparece por ejemplo en las filas 1 y 3, si cambio esa variable por ejemplo en la fila 1 me sale el siguiente mensaje "se ha cometido un error en el método de la invocación", parece como si una vez que defines un vector de resultados, aunque cambies las variables dentro del vector, éste tuviera memoria y se acordara de las variables que tuviera antes. He probado a cerrar y abrir el programa, incluso a reiniciar el portátil por si acaso se quedara por ahí algún registro perdido, pero no se soluciona, ¿Alguien sabe a que es debido?.

Seguimos experimentando.

Iván Silva

Quote from: jesusmor on 13 de December de 2019, 03:30:57 AM
Buenas, os comento lo que he ido haciendo, un compañero (no del foro) me dijo que podría ser problema del vector de resultados, y que tuviera cuidado con las unidades, probé lo del vector de resultados asignándole al programa una salida única pero no funcionó, y en cuanto al tema de las unidades ya me dieron algún problema cuando empecé y decidí quitarlas, o sea que por aquí nada.

Seguí indagando por mi cuenta y he visto varias cosas, el problema del "Ldtoken, Ldftn y Ldvirtftn OpCodes no pueden tener DynamicMethod como destino" que no me dejaba añadir más líneas al bucle lo he podido solucionar poniendo en la asignación variables que ya estaban utilizadas dentro del bucle, es decir no me deja añadir variables "nuevas", aunque estén definidas arriba fuera del bucle, ¿Sabeis por qué puede ser esto?. En principio podría ser una solución, pero estoy empezando con la zona bifásica y es donde viene lo complicado, si empiezo a "reutilizar" variables el programa se puede convertir en un jeroglífico.

Otra cosa que me he dado cuenta es que en el vector de resultados, si hago referencia a una variable que se calcula en el bucle y aparece por ejemplo en las filas 1 y 3, si cambio esa variable por ejemplo en la fila 1 me sale el siguiente mensaje "se ha cometido un error en el método de la invocación", parece como si una vez que defines un vector de resultados, aunque cambies las variables dentro del vector, éste tuviera memoria y se acordara de las variables que tuviera antes. He probado a cerrar y abrir el programa, incluso a reiniciar el portátil por si acaso se quedara por ahí algún registro perdido, pero no se soluciona, ¿Alguien sabe a que es debido?.

Seguimos experimentando.
Infórmanos si le has dado solución a tu problema, yo no uso Mathcad.