From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

Valores fuera de intervalo en non linear solver

Buenas tardes.

 

Estoy tratando de buscar soluciones para un sistema de dos ecuaciones. He restringido mediante intervalos, los posibles valores de las soluciones como se ve en el fichero adjunto. Una restriccion es ente [0,10] y la otra entre [9000,120000]. El problema es que me da soluciones negativas y otras que están fuera del intervalo. Si no encontrara soluciones dentro de ese intevalo, no debería mostrarla. Porqué lo hace?. Qué  está ocurriendo?. Se puede solucionar?.

 

Un saludo y gracias por adelantado. 

0 kudos
Mensaje 1 de 6
3.142 Vistas

Hola ticofs

 

Estaba viendo tu VI y viendo el context help dice que ya no esta soportado ese VI y nos da recomentacion de utilizar otro VI. Te invito a que lo pruebes para ver si se soluciona tu problema. Ademas de te recomiendo cambiar tu estructura del VI a una maquina de estados, aqui te dejo un tutorial acerca de las maquinas de estado.

 

Saludos

 

Julio Mena

0 kudos
Mensaje 2 de 6
3.134 Vistas

Hola ticofs,

Lo que estás haciendo en el VI es restringir los valores de entrada. Estás declarando dos ecuaciones con dos variables (a y b). Lo que hace el VI que estás utilizando, y alguno más que hay en la paleta actual de LV es ir evaluando las ecuaciones cambiando las variables dentro del rango que has especificado, con el paso que lo hayas hecho. Así, en tu caso, estás diciendo que a tiene que ir entre 0 y 10, y b entre 9000 y 12000.

 

En dicho VI (y no sé si hay alguno) no se pueden restringir los valores de salida de la resolución. 

De todas maneras, yo te recomendaría lo mismo que Julio, que utilices otros Vis más nuevos, como el nd Nonlinear System Solver.vi.

 

Un saludo!!

Applications Engineer - Certified LabVIEW Developer & Certified TestStand Developer
Mensaje 3 de 6
3.128 Vistas

Mucgas gracias por las respuestas, ya obtengo unos buenos valores.

 

Respecto a l anueva version del non linear del solver es compatible con la version de Labview 6.1. El experimento esta montado con esta versión y ahora no se puede cambiar a una nueva.

 

Y la última pregunta. Qué son lo kudos?

0 kudos
Mensaje 4 de 6
3.122 Vistas

Hola ticofs

 

Me da gusto que ya te funcione tu aplicacion. Respecto a la nueva apliacion si puede llegar a ser compatible, solo que deberian pasarte la funcion desde una neuva version ya que fue actualizado a partir de 8.6, sin embargo no es muy recomendable hacer esto debido que puede haber conflictos por ser diferentes versiones.

 

En cuanto a los kudos, son como felicitaciones, es como un reconocimiento por la ayuda brindada si fue de utilidad.

 

Saludos

 

Julio Mena

Mensaje 5 de 6
3.118 Vistas

Hola!.

 

Tengo una duda que la verdad es que me esta complicando un poco la vida y quería ver si vosotros podríais ayudarme. La he colocado en el foro general pero por ahora no he tenido respuestas.

 

Estoy utilizando la función Leven Marquat y quiero introducir dos valores para la x(se que en teoría no se puede), pero es que necesito ir probando dos variables al mismo tiempo (intensidad y temperatura). En un intento deseperado, he decidido trabajar con complejos.

 

Ya que la formula se introduce como un string, en el mismo string he decidido separar la parte real, la cual utilizo para la corriente y la parte imaginaria, la cual utilizo para la temperatura. Para ello he utilizado los comandos real() e imag(p). Cuando lo he ido a probar me he dado cuenta que no soporta estos comandos. Al pregunta es, si sabeis alguna manera de separar en un string la parte real de la imaginaria de un numero complejo.

 

Se me ocurre un metodo que seria utilizar el comando abs() para sacar el modulo (no se si funcionará) y el comando atan() para sacar el argumento.

 

He encontrado en la ayuda unas funciones para recortar caracteres de un string, "CPStrRemove(,)", que no se si se podrán escribir en el string tal cual, yo he probado y no me funciona.

 

Bueno mejor me aconsejais que hacer vosotros que estais más puestos en el tema :smileyhappy:. Os adjunto el fichero. El string con la fórmula que os he puesto es sencillo para que asi me podais explicar claramente como se podría hacer. 

 

Muchisimas gracias y un saludo.

0 kudos
Mensaje 6 de 6
3.099 Vistas