Matlab - Seleccionar varias variables

   
Vista:

Seleccionar varias variables

Publicado por Patricia (8 intervenciones) el 14/08/2012 19:54:48
Hola a tod@s

Hace poco que empecé a usar Matlab y cada día aprendo cosas nuevas. Sin embargo un problema.
Usando los comandos:
for i=1:size(Ln,2);
eval(['SS350_' num2str(i) '= polyfit(lam,Ln(:,i),1);'])
eval(['Rc_' num2str(i) '= corrcoef(lam,Ln(:,i))'])
end
Pude obtener la pendiente de la recta de una serie de datos y guardarlos como variables consecutivas SS350_1, SS350_2, SS250_N. Estas variables me quedan en el workspace, yo quisiera poner el contenido de cada una de las variables en una sola, como puedo hacer para "buscar" estas variables SS350_* y agregar el contenido en un sola asi después las puedo borrar!

Gracias! Patricia
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

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 15/08/2012 15:22:56
Usa la funcion ls(), para encontrar el nombre de las varialbles.
luego podrias usar importdata () ó fopen() para capturar los valores de tus variables.

No puedo darte mas informacion, ya que la información es muy escueta.

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

Seleccionar varias variables

Publicado por Patricia (8 intervenciones) el 16/08/2012 00:33:15
Hola Jose, muchas gracias por responder. Bueno te doy más info. Yo genero cierta cantidad de variables en mi workspace que se van nombrando consecutivamente SS275_1, SS275_2, etc. Entre otras variables que voy generando. Yo lo que necesito es poner solo el contenido de estas variables SS275_* en una nueva.
Encontré algo parecido que me graba las variables en el archivo .mat:

save ('ejemplo', 'SS275_*'); Esta sentencia lo que hace es grabar las variables que empiecen con SS275_ en un archivo que se llame ejemplo.

Bien yo lo que necesito es algo parecido pero que me genere una nueva variable, algo de este estilo, pero que funcione:

B= [SS275_*];

Espero te halla aclarado un poco más el panorama!
Desde ya muchas gracias! Patricia!
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

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 16/08/2012 01:40:01
Mejor enviame tu codigo a mi correo.
Lo que quieres hacer no es dificil, lo reviso bien y te doy una solucion. Y se acaba tus preucupaciones.

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 JOSE JEREMIAS CABALLERO

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 16/08/2012 19:39:25
la solucion es esta:
este codigo

1
2
3
4
for i=1:size(Ln,2);
eval(['SS350_' num2str(i) '= polyfit(lam,Ln(:,i),1);'])
eval(['Rc_' num2str(i) '= corrcoef(lam,Ln(:,i))'])
end


modificalo por este.
1
2
3
4
5
6
for i=1:size(Ln,2)
SS350(i,:)=polyfit(lam,Ln(:,i),1);
Rc(:,:,i)= corrcoef(lam,Ln(:,i));
end
SS350
Rc



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 JOSE JEREMIAS CABALLERO

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 16/08/2012 20:10:31
Otra forma de hacerlo es:

1
2
3
4
5
6
7
8
9
for i=1:size(Ln,2);
eval(['SS275_' num2str(i) '= polyfit(lam,Ln(:,i),1)'])
eval(['Ra_' num2str(i) '= corrcoef(lam,Ln(:,i))'])
end
a=whos('SS*');
for i=1:size(Ln,2)
P275(i,:)=eval(a(i).name);
end
clear SS*


Aunque este tipo es muy limitado.

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

Seleccionar varias variables

Publicado por Patricia (8 intervenciones) el 16/08/2012 20:20:06
Jose!!! Mil gracias! Si era eso exactamente lo que queria hacer!!! Sos un genio!!!! Mil gracias!!!!!
Saludos, Patricia!
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

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 16/08/2012 20:25:39
Bueno me enviastes tu codigo a mi correo y lo revise por completo linea por linea y pude entender lo que querias hacerlo.
Y por eso te pude contestar con certeza. Por eso en ocaciones pido los codigos de los usuarios para ganar tiempo en la solución de las dudas.

Saludos.

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

Seleccionar varias variables

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 22/08/2012 07:33:48
Hola Patricia;

La mejor solución es que directamente vayas generando la matriz de datos.

1
2
3
4
5
6
for i=1:size(Ln,2)
SS(i,:)=polyfit(lam,Ln(:,i),1);
Rc(:,:,i)= corrcoef(lam,Ln(:,i));
end
SS
Rc


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

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmal.com (1 intervención) el 23/08/2012 18:36:17
Hola Dave.
Esa forma de resolver.
Ya esta resuelto en lineas arriba.
NO es necesario voy hacerlo.

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 JOSE JEREMIAS CABALLERO

Seleccionar varias variables

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3439 intervenciones) el 23/08/2012 18:40:29
Hola Dave.
Esa forma de resolver.
Ya esta resuelto en lineas arriba.
NO es necesario volver hacerlo.

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

Seleccionar varias variables

Publicado por Dave correa.dave30@gmail.com (934 intervenciones) el 01/09/2012 07:10:30
Hola José;

No fue mi intensión tomar tu código, principalmente deseaba reforzar tu comentarios, disculpa si no fui muy claro.

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