INTERPOLACION CON LISTAS

Saludos hpadictos, buscando entre los foros este tema todavia esta abierto,
bueno quisiera que me ayuden a realizar un programa que interpole entre listas
por ejemplo teniendo las listas ya almacenadas
A={1 2 3 4 5}
B={10 20 30 40 50}
interpole para cualquier valor de A
es decir que al ingresar 1.5 obtenga 15
o al ingresar 6 obtenga 60
Gracias de antemano y espero que puedan ayudarme con este programa
Otros temas de interes


Hola!, Adictto21:
Puedes buscar en ... http://www.adictoshp.org/node/436


Puedes usar también:
http://www.hpcalc.org/details.php?id=7224
que genera un ejecutable, si los datos lo tienes como lista debes convertirlo a Matrix con los comandos AXL y COL->


Hola!, Adictto21:
Si leyeras mi post, allí hay ejemplos, que te servirían. Obviamente has leído el último, que ha ingresado.


Excelente programa Edwin, me ha servido de mucho, debo destacar la velocidad que tiene para interpolar matrices de gran tamaño.
Adictto21, genera el ejecutable y lo llamas desde tu programa y listo.
Saludos




Excelente programa Edwin, me ha servido de mucho, debo destacar la velocidad que tiene para interpolar matrices de gran tamaño.Adictto21, genera el ejecutable y lo llamas desde tu programa y listo.
Saludos
Si la velocidad es debido a que la rutina de interpolación está hecho en ML.


Holas, esto me recuerda a un problema que tuve, la calculadora por si sola puede aproximar una recta con nuestros puntos, pero me parece que no es posible hacer aproximaciones a polinomios con grados mayores o iguales a 2 ¿o sí? Por si sola, aquí les dejo un programita que hice para eso su entrada son dos listas y un numero, la primera lista son las abscisas de los puntos, la segunda lista son las ordenadas y el numero es el grado del polinomio del cual queremos obtener sus coeficientes y es al que suponemos representa con el menor error nuestros puntos, es decir la misma idea que para una recta pero con polinomios de grados 2 o mayor, utilice el método de mínimos cuadrados, la salida es una matriz columna donde los coeficientes corresponden a los términos en orden creciente es decir el primero es el termino independiente y el ultimo el coeficiente principal del polinomio, Aquiles dejo el código:
«
@ xi yi grado -> coeficientes
{ 0. 1. 2. 3. 4. 5. 6. }
{ 0. 1. 4.01 9.0 15.99 24.99 36. }
2.
X Y M
«
X VANDERMONDE TRAN Y AXL 1 COL *
{ 1 1 } M 1 + 1 2 LIST SUB
X VANDERMONDE DUP TRAN SWAP *
{ 1 1 } M 1 + DUP 2 LIST SUB
/
»
»

Gracias por sus respuestas, bueno resien me estoy empezando en lo que es programacion, utilizo el hpuseredit, bueno el programa que dejo Edwin , lo he colocado en el emulador de la hp que viene con el hpuseredit y realmente es muy bueno, pero Emiaj dice textualmente
Adictto21, genera el ejecutable y lo llamas desde tu programa y listo.
como paso el ejecutable al hpuseredit o lo llamo la verdad que no entiendo,
espero que me puedadn en como pasarlo al hpuseredit
Gracias MACH si lei tu ayuda, solo que el post de Edwin era mas especifico,
y gracias Luis Beas por tus aportes


Holap Adictto21
Prueba esto, creas tu ejecutable en el emulador del Hpuseredit le das un nombre y lo guardas, luego escribes tu programa..... cuando llegues el momento de utilizar la interpolación lo llamas poniendo en tu código el nombre que le diste ejecutable, así cuando mandes tu programa al emulador este llamara al ejecutable.
Aqui un ejemplo:
« 1.5 1 INTER1 »
INTER1 : es el nombre del ejecutable, interpola 1.5 en la columna 1 de tu matriz

Gracias Emiaj por rspoderme mira el codigo con el que estoy intentando
«
"INGRESE a
"
""
INPUT OBJ
E @ e ES EL VALOR A INTERPOLAR
«
[ [ 1 10 ]
[ 2 20 ]
]
TEXE
C
«
E 1 BB
»
»
»
BB Es el ejecutable interpola que esta almacenado en el emulador como variable, tbn alli sta mi matriz y E es el valor que quiero interpolar
pero para guardar la matriz le puse T->EXE Y la guarde como C
pero no logro que interpole me sale external o simplemente 1.5 1


El comando T->EXE es una herramienta para crear el ejecutable y no debería estar en el código del programa. Del programas que presenta debes eliminar este código
[ [ 1 10 ] [ 2 20 ] ] TEXE C
y lo ejecutas desde el emulador:
[ [ 1 10 ]
[ 2 20 ]
]
TEXE
En la pila aparecera un external, este objeto ahora si lo guardas en la variable BB ('BB' STO) y usa el código:
« "INGRESE a " "" INPUT OBJ E @ e ES EL VALOR A INTERPOLAR « « E 1 BB » » »

Gracias Edwin ia logre realizar mi programa con ayuda del ejecutable
solo 1 pregunta mas
si lo convierte a libreria porque todavia lo tengo en variable
no hay problema con el ejecutable
y si posible desde el programa ingresar la matriz asi como intentaba en la primera parte y no ingresarla al ejecutable


no se como estás convirtiendolo a biblioteca (Library), pero lo que se hace es crear un nuevo objeto para instalar en un puerto y esto es independiente de las variables en HOME, si eliminas estas variables debería funcionar. Para crear la biblioteca debes especificar las variables que seran visibles y las que seran invisibles.
y si posible desde el programa ingresar la matriz asi como intentaba en la primera parte y no ingresarla al ejecutable
si es posible hacer eso, no hay ningun problema, se debería hacer así si los datos de la matriz siempre son diferentes.






Saludos Edwin , gracias por tu respuesta, es lo que estaba buscando pero como haria para colocar en el programa que quiero realizar ya que la interpolacion era una parte, lo que estaba buscando era el codigo de programacion.
Gracias