Matlab - renombrar variables

 
Vista:

renombrar variables

Publicado por David (7 intervenciones) el 07/05/2012 11:02:31
Hola, tengo una duda y no encuentro la forma de resolverlo...
el caso es que tengo varias matrices tipo double, nombradas de la forma M1, M2, M3...
lo que quiero es cargarlas de una en una y cambiarles el nombre por ejemplo a M,
de forma que cargue la matriz M1, cambio nombre a M, hago los calculos que quiero y regreso para cargar M2... asi, hasta el final.
he probado con varname, eval... pero no se cual es la funcio que permite cambiar el nombre de matrices del modo que deseo.

Alguien puede ayudar?
Un saludo.
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: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

renombrar variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 07/05/2012 15:20:28
Hola David.
Utiliza la funcion genvarname y eval para hacer lo que quieres.

EJECUCION DEL PROGRAMA

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
>> cambio_de_variables
 
M1 =
 
    0.4868    0.5108    0.8116
    0.4359    0.8176    0.5328
    0.4468    0.7948    0.3507
    0.3063    0.6443    0.9390
    0.5085    0.3786    0.8759
 
 
M2 =
 
    0.5502    0.5870    0.3012
    0.6225    0.2077    0.4709
 
 
M3 =
 
    0.2305    0.2259    0.4357
    0.8443    0.1707    0.3111
    0.1948    0.2277    0.9234
 
 
M =
 
    0.4868    0.5108    0.8116
    0.4359    0.8176    0.5328
    0.4468    0.7948    0.3507
    0.3063    0.6443    0.9390
    0.5085    0.3786    0.8759
 
 
M =
 
    0.5502    0.5870    0.3012
    0.6225    0.2077    0.4709
 
 
M =
 
    0.2305    0.2259    0.4357
    0.8443    0.1707    0.3111
    0.1948    0.2277    0.9234



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

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

renombrar variables

Publicado por David (7 intervenciones) el 07/05/2012 16:22:28
Hola, lo estoy intentando, pero no comprendo cual es la funcion del genvarname,por lo que estoy viendo no se le puede asignar ningun valor, solamente es un valor caracter, no veo claro el sentido de esto.. como es esto?
gracias
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

renombrar variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 07/05/2012 16:31:26
Hola David.
Mis sugerencias son correctas, solo te toca investigar como funciona la funcion genvarname.
Ademas algo parecido está resuelto y lo he puesto en este mismo foro. Solo es cuestion de buscarlo.
El codigo anterior esta hecho, con las dos funciones que te he menciono.


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programacion matlab
[email protected]

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

renombrar variables

Publicado por Jorge (1 intervención) el 09/05/2013 20:21:46
Buenas tardes Jose..
Una consulta yo deseo en principio crear unas matrices con diversos nombre
M1,M2,M3 etc
y a su vez darle un valor especifico a una celda ejemplo el valor de 5 a la M1(1,1)

Este es el codigo que uso pero no me sirve

clearvars Vector*
for k = 1:5;
v = genvarname('M', who);
eval([v ' = k']);
end;

Solo me asigna a M,M1,M2..M4 el valor de k.. o en su defecto el valor que yo le coloque..
Lo que necesito es que me construya matrices distintas y luego en M1 (1,1), y en M2(1,1) me coloque un valor numerico..
como podria hacerlo??

Gracias de antemano
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

renombrar variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/05/2013 05:18:10
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