Matlab - Usar variables creadas a partir de comando "genvarname"

 
Vista:

Usar variables creadas a partir de comando "genvarname"

Publicado por Xio (23 intervenciones) el 26/11/2012 18:18:46
Hola a todos, tengo la siguiente inquietud, he creado a partir del comando "genvarname", el nombre de unas variables las cuales corresponden a matrices de diferentes tamaños, mi código es el siguiente (funciona muy bien para mi):

for i = 1:Aa
c = 1:3:cAG;
Pos_z = find(AreasGen(:,c(i)+2) == 0);
Va = AreasGen(:,c(i):c(i)+2);
Va(Pos_z,:) = [];
v = genvarname(['Area',num2str(i)]);
eval([v ' = Va']);
end

Mis preguntas son las siguientes:

1. Como debo hacer para que cada vez que corro este código el resultado de las variables no se me impriman siempre en el "command window", sin oque solamente las vea reflejadas en el "workspace"??

2. Con mi código, tengo creadas dos variables o matrices llamadas "Area1" y "Area2" (apartir del comando "genvarname"), ahora lo que quiero hacer es trabajar con esas áreas, pero en diferentes momentos, es decir, deseo introducirlas en un ciclo for para trabajar con cada una, pero aqui no sé que hacer, porque necesito que en mi for este en función del numero de matrices, es decir, lo que quiero hacer es algo asi:

for i = 1: Aa
Nod = unique(Area(i)(:,1:2))
end

Lo que quiero es empezar a trabajar con estas matrices que ya he creado, pero que las pueda trabajar en un ciclo, sin yo tener necesidad de empezar a llamarlas una a una o nombre por nombre, porque necesito crear aproximadamente hasta 10 matrices.

Espero que me hayan entendido, y me puedan ayudar con esto.
Les agradezco de antemano.
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

Usar variables creadas a partir de comando "genvarname"

Publicado por CLAUDIA NOEMI (1 intervención) el 18/09/2017 19:35:43
Hola, se que hace mucho que planteaste la pregunta, pero con tu post has solucionado mi problema así que, aunque tarde, intentaré devolverte el favor.
En la linea
eval([v ' = Va']);
donde eval evalúa el texto entre comillas debes incluir el punto y coma antes de cerrar las comillas , así:
eval([v ' = Va;']);
así la tendrá en cuenta como una parte más de la linea del script y no la mostrará en pantalla.
Saludos
Claudia
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