Matlab - Duda resulados interpolación Matlab

   
Vista:

Duda resulados interpolación Matlab

Publicado por klipya (13 intervenciones) el 27/09/2012 14:21:15
Hola,

Posteo este mensaje para hacer llegarles una pregunta. He realizado la siguiente interpolación:


t= 200:.01:1500;
l= pchip(l1,l2,t);
plot(l1,l2,'o',t,l,'-');
axis([200 1500 0 1])

Os muestro un trozo del resultado:

251
251,010000000000
251,020000000000
251,030000000000
251,040000000000
251,050000000000
251,060000000000
251,070000000000
251,080000000000
251,090000000000
251,100000000000
251,110000000000
251,120000000000
251,130000000000
251,140000000000
251,150000000000
251,160000000000
251,170000000000
251,180000000000
251,190000000000
251,200000000000
251,210000000000
251,220000000000

El problema es que necesitaría los valores no expresados por pequeñas décimas, si no con números enteros. Es decir, por ejemplo, 251, 252... (el vector de las x es así). No he visto que se pueda hacer de otra manera.

Gracias de antemano y saludos,
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

Duda resulados interpolación Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 27/09/2012 15:38:05
¿Donde defines x?.
¿Donde defines l1 y l2?
Mejorar la pregunta.


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.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
Imágen de perfil de Dave

Duda resulados interpolación Matlab

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 27/09/2012 17:42:57
Hola klipya ;

Respecto a tu consulta,

1) Veo que el vector " t " lo estas definiendo con dos decimales, y que el rango es bien amplio, quizás hay un error.

1
t= 200:.01:1500;


2) Verifica que no estas trabajando con formato largo, en todo caso podrías colocar

1
>> format short


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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Duda resulados interpolación Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 27/09/2012 18:27:47
1
2
3
4
5
6
7
8
9
10
11
12
13
%% http://www.lawebdelprogramador.com/foros/Matlab/1350810-Duda_resulados_interpolacion_Matlab.html
clear all
clc
figure(gcf)
I1 =[-2:2]'
I2 =round(5*rand(1,length(I1)))'
format bank
t =[ I1(1):0.5:I1(end)]'
I=pchip(I1,I2,t)
plot(I1,I2,'o',t,I,'-');
axis([I1(1) I1(end) min(I2) max(I2)])
format short
whos


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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
EJECUCION
>> pchip1_interpolacion
 
I1 =
 
    -2
    -1
     0
     1
     2
 
 
I2 =
 
     0
     3
     3
     1
     2
 
 
t =
 
         -2.00
         -1.50
         -1.00
         -0.50
             0
          0.50
          1.00
          1.50
          2.00
 
 
I =
 
             0
          2.06
          3.00
          3.00
          3.00
          2.00
          1.00
          1.19
          2.00
 
  Name      Size            Bytes  Class     Attributes
 
  I         9x1                72  double
  I1        5x1                40  double
  I2        5x1                40  double
  t         9x1                72  double




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
jjcc94@hotmail.com

http://matlabcaballero.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

Duda resulados interpolación Matlab

Publicado por klipya (13 intervenciones) el 28/09/2012 08:46:16
Hola! Muchísimas gracias por vuestros comentarios! :)

Al final lo he solucionado así:

t= 200:1500;

Muchísimas gracias a todos por vuestra ayuda! :)
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

Duda resulados interpolación Matlab

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 02/10/2012 18:25:57
Hola Klipya;

Eso quiere decir, que no era necesario usar un intervalo del orden de los decimales.

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