Matlab - Interpolar con valores dobles de X1

 
Vista:

Interpolar con valores dobles de X1

Publicado por Seira (2 intervenciones) el 26/11/2013 12:37:11
Hola!

Tengo unos puntos de latitud y longitud a lo largo del contorno de un lago y me gustaría interpolar entre ellos para completar el contorno ya que hay espacios. El problema es que aparecen puntos tanto en el contorno norte como en el sur y no tiene una forma simétrica de manera que pueda discernir qué puntos son del lado norte y cuáles del sur a partir de un valor de latitud. Al interpolar con la función interp1 de matlab mediante el vecino más próximo para evitar que aparezcan puntos entre el límite norte y el sur solo me da para cada valor de X1 un valor de Y1, de manera que interpola algunos valores en el límite norte y otros en el sur, pero esto no me da la línea continúa que busco en cada límite y no sé me ocurre cómo podría conseguirlo.

Espero haberme explicado bien, muchas gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 8.005
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Interpolar con valores dobles de X1

Publicado por JOSE JEREMIAS CABALLERO (5793 intervenciones) el 27/11/2013 02:57:28
quizás viendo tu avance. te sugiera algo.

Saludos.
JOSE JEREMÍAS CABALLERO
Asesorías en Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 586
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Interpolar con valores dobles de X1, La Solución

Publicado por Dave (1083 intervenciones) el 27/11/2013 12:05:28
Hola Seira;

De acuerdo a tu consulta, deseas mejorar el delineado de tu contorno o coordenadas que delimitan tu área de estudio, una opción sería hacer una interpolación spline de los puntos o coordenadas que conoces, de tal maneras que a partir de ellos puedas generar puntos a un determinado espaciamiento y así completar tus datos, a continuación te dejo un segmento de código que podrías utilizar.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
clear all,close all, clc
% Coordenadas de referencia
xp0 =[4 1 1 4 7 7] ;
yp0 = [4 4 1 1 1 3];
 
% Vector de tk, que varía de 0 a 1
k = 1:6;
tk = 0.2*(k - 1);
 
% Se crea el nuevo vector tk = 12.5 x 6 pto  =  75 ptos
tkn =linspace(tk(1),tk(end),75);    % Crea el vector tk
xp = interp1(tk,xp0,tkn,'spline');  % Interpola xp, con método spline
yp = interp1(tk,yp0,tkn,'spline');  % Interpola yp, con método spline
 
 
% Visualiza los resultados
plot(xp0,yp0,'*r')
hold on
plot(xp0,yp0,'or')
% Coloca los números de referencia de los puntos
for n = 1:length(xp0)
   text(xp0(n),yp0(n),num2str(n),'HorizontalAlignment','left',...
       'VerticalAlignment','top','FontW','bold')
end
 
hold on
plot(xp,yp,'.-b')   % Agrega los nuevos puntos interpolados
hold on
title('Método de interpolación Spline')

A continuación la imagen de referencia



Por otro lado, aprovecho en comentarte que brindo servicios de programación, por si conoces a alguien que requiera de mis servicios, te dejo mi información de contacto.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Interpolar con valores dobles de X1, La Solución

Publicado por Seira (2 intervenciones) el 28/11/2013 09:06:05
Muchas gracias Dave!

Has entendido perfectamente a lo que me refería y tu solución me ha sido muy útil y una cosa más que he aprendido!

Gracias por tu tiempo y tendré en cuenta lo de que brindas servicios de programación por si yo u otra persona los necesitamos.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 586
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Interpolar con valores dobles de X1, La Solución

Publicado por Dave (1083 intervenciones) el 28/11/2013 09:17:16
Seira;

Me da mucho gusto que haya contribuido a la solución de tu problema.

Sobre mis servicios, te comento que tengo relativa experiencia en temas relacionado con las ciencias ambientales, físicas y matemáticas, así que cualquier cosa, me avisan.

Saludos
Dave Correa
correa.dave30@gmail.com
Servicios de Programación Matlab

http://fismatlab.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar