Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

Matlab - interpolacion entre numeros

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:emilio (49 intervenciones)
Fecha:08/04/2011 13:12:08
Hola amigos:

Tengo una tabla de datos x, f(x) que es un matrix de n filas por dos columnas, y lo que deseo es que entre dos filas consecutivas (i,1) e (i+1,1) agregar "m" nuevos puntos es decir:

x f (x)
0.1 12
0.2 13
0.3 21
.... ....... etc
entre 0.1 y 0.2 agregar "m" nuevos puntos, y lo mismo entre 12 y 13

para eso se me ocurrio crear polinomio interpolador de todos los puntos, existe algun comando en Matlab para evitar crear otro programa que haga esto??


Saludos
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:Joaquín (9 intervenciones)
Fecha:08/04/2011 14:00:06
Hola

No te explicas bien; no se entiende lo que preguntas.

Si lo que quieres es, dado un conjunto de puntos y sus imágenes mediante una función f(x) desconocida, hallar la interpolación en esos puntos (que se suelen llamar soporte) para después ir dando valores a ese polinomio y así aumentar tu tabla de valores ... has de saber, que la interpolación es un mundo, que se ocupa el cálculo numérico.

Tienes muchas posibilidades para interpolar, en tu caso, la más normal sería -dado que no tienes más información- en usar interpolación polinómica.

El enlace para que consideres los distintos tipos de interpolación y sus comandos es: http://www.mathworks.com/help/techdoc/ref/interp1.html

*Tienes que saber, que dada la poca información que tienes, usar un polinomio interpolador, tiene un error muy grande, y entre puntos puede haber unos saltos muy grandes de la función.

un saludo
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:emilio (49 intervenciones)
Fecha:08/04/2011 14:43:00
quizas no me explique bien:
son dos vectores que x e f(x) los cuales poseen más de 3mil puntos y lo que deseo es disminuir el mesh entre los puntos . osea si antes la separacion entre dos puntos consecutivos era, por Ejemplo, 0.1 (en x) me gustaria cambiarla a 0.001 y ver como queda las imagenes en f(x)


Saludos y gracias
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (2513 intervenciones)
Fecha:08/04/2011 16:06:52
Hola Emilio.
Bueno hice un programa a tu pedido, claro utilizando algunos comandos de matlab, para no generar un codigo que seria muy tedioso de explicarlo. Donde m es numero de puntos q quieres interpolar entre dos nodos consecutivos es decir enre x(i), y x(i+1). Lo he probado con el m=2, pero m puede ser cualquier numero natural. Si hay dudas vuelves a escribir.

%% ========================================================================
% http://www.mathworks.com/help/techdoc/ref/interp1.html
% UN EJEMPLO
clear
m=2 % numero de puntos a interpolar entre nodo y nodo
x=[10,11,12,13,14,15,16,17,18,19,20] % nodos del intervalo Ix
y=[-0.5440,-1.0000,-0.5366,0.4202,0.9906,0.6503,-0.2879,-0.9614,-0.7510,0.1499,0.9129];% la imagen del intervao Iy
xi=linspace(x(1),x(end),length(x)+(length(x)-1)*m),%abcisas de los ptos interpolados
yi=interp1(x,y,xi); % ordenadas de los ptos interpolados
figure(gcf),
plot(x,y,'o',xi,yi,'-') % grafica sin interpolar y grafica del intepolado
% ========================================================================


%EJECUCION
>> interpolacionfuncion
m =
2
x =
10 11 12 13 14 15 16 17 18 19 20

xi =
Columns 1 through 14
10.0000 10.3333 10.6667 11.0000 11.3333 11.6667 12.0000 12.3333 12.6667 13.0000 13.3333 13.6667 14.0000 14.3333

Columns 15 through 28
14.6667 15.0000 15.3333 15.6667 16.0000 16.3333 16.6667 17.0000 17.3333 17.6667 18.0000 18.3333 18.6667 19.0000

Columns 29 through 31
19.3333 19.6667 20.0000

Saludos:
JOSÉ JEREMIAS CABALLERO
ASESOR DE TESIS Y PROYECTOS DONDE SE NECESITA MATLAB
PROFESOR DE MATLAB Y METODOS NUMERICOS
PROGRAMADOR EN MATLAB.
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:Joaquín (9 intervenciones)
Fecha:08/04/2011 15:47:57
¿No sería mejor que usarás otra cosa distinta a la interpolación? por ejemplo las regresiones y ajustas los datos a lo que más se parezca...

Lo digo porque si tienes más de 3000 puntos, te va a quedar de interpolación, un polinimio de grado n-1 puntos ... y el coste computacional puede ser alto. No obstante, si quieres hacerlo, te he deajdo el enlace anteriormente.

Ten en cuenta que la interpolación polinomica con los datos que tienes, no se fija en la "tendencia" de los datos, simplmente cumple con los puntos. Quizá deberías considerar mejor un análisis mediante mínimos cuadrados (regresiones) que se ocupa la estadística.

un saludo
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:emilio (49 intervenciones)
Fecha:08/04/2011 16:12:55
es justamente lo que andaba buscando
muchas gracias, vamos a ver que tal anda el *.m y los costos computacionales te cuento como funciona
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

interpolacion entre numeros

Autor:emilio (49 intervenciones)
Fecha:08/04/2011 15:54:43
mmm, si pero yo no estoy interesado en reducir el mesh en todo el intervalo solo es ciertos valores puntuales, he seguido tus enlaces y me han dado resultado, pero me gustaria tambien saber como anda con los minimos cuadrados tienes algúna información útil o enlace al respecto

Saludos y gracias
Comentar