Matlab - Como implementar nombre de objetos variables ?

 
Vista:
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 12/03/2015 19:32:12
Para una sentencia "for" con i=1:N de un script que estoy implementando, necesito nombrar una serie de vectores de la forma: V1, V2, V3,.....,Vi,....,VN.

Agradecería al que me pueda orientar sobre el tema.

Muchas gracias.
Facundo
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como implementar nombre de objetos variables ?

Publicado por Daniel (264 intervenciones) el 13/03/2015 14:19:28
yo generalmente lo utilizo asi:

1
2
3
4
n=5;
for i=1:n
    eval(['V' i '=i*ones(1,3);'])
end



Lo que va dentro del eval debe ser un string por eso el primer "i", que es un numero debes convertirlo previamente a texto, mientras que la segundo vez que aparece queres que sea un numero. Te recomiendo probar con eso.



Saludos

Daniel
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
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 13/03/2015 16:58:53
Daniel, si coloco en Matlab en la pantalla de comando las 4 lineas de codigo que me enviaste me sale el siguiente error:
Error: The input character is not valid in MATLAB statements or expressions.
Sabes donde puede estar el error ?
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como implementar nombre de objetos variables ?

Publicado por Daniel (264 intervenciones) el 13/03/2015 17:22:21
Disculpá, copié mal

1
2
3
4
n=5;
for i=1:n
     eval(['V' num2str(i) '=i*ones(1,3)'])
end


Ahora si va a funcionar

saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 13/03/2015 17:28:01
Ahora si !!!! Muchas gracias Daniel !!!!
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
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 13/03/2015 19:13:16
Ya que estamos te consulto la inversa, o sea ya cree los distintos Vi, como hago ahora para llamarlos desde otra sentencia "for", supongamos que a cada vector Vi le quiero obtener su norma.

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

Como implementar nombre de objetos variables ?

Publicado por Daniel (264 intervenciones) el 13/03/2015 19:49:27
1
2
3
for i=1:n
         eval(['norma(' num2str(i) ')=norm(V' num2str(i) ');']);
end


Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 13/03/2015 20:48:59
OK, ahora entendi la logica, muchas gracias !!!!

Estoy teniendo un problema en un script con mi expresion: eval(['E' num2str(i) '=inv(A(((i-1)*D+1):i*D,1:D));'])

Me arroja lo siguiente:
Error using eval
Undefined function 'E' for input arguments of type 'char'.

Sabes a que se pueda deber ?
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como implementar nombre de objetos variables ?

Publicado por Daniel (264 intervenciones) el 13/03/2015 21:04:52
pasame todo el codigo porque ahi no veo ningún error, creo
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

Como implementar nombre de objetos variables ?

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 14/03/2015 01:37:41
Debería hacer la pregunta concreta de lo que esta haciendo y no un parecido. Entonces muchas veces las respuestas que le damos no le va a funcionar. Las respuestas se hacen de acuerdo a la informacion que brinda el usuario y esas respuestas no va funcionar muchas veces si hacen algún cambio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Como implementar nombre de objetos variables ?

Publicado por Facundo (12 intervenciones) el 14/03/2015 14:45:22
Jose, tiene Ud. razón y le pido disculpas por mi falta de precisión. Al final encontré el problema y ya esta funcionando en mi script la función "eval". Desde ya le agradezco mucho a Ud. y a Daniel por haber dedicado tiempo a mi problema. Realmente muy agradecido.

Saludos.
Facundo
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