Matlab - Nombre de una variable

 
Vista:

Nombre de una variable

Publicado por Javier (1 intervención) el 18/05/2009 00:15:08
Hola estoy intentando aumatizar la asignacion del nombre de las variables, es decir, conseguir que en un bucle la primera solucion se llame a1 por ejemplo la segunda a2, la tercera a3 etc.

o lo que seria lo mismo añadir el valor de una variable al nombre de otra .
muchas gracias.
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

RE:Nombre de una variable

Publicado por Kike (304 intervenciones) el 18/05/2009 05:09:18
Para esto usamos el comando EVAL. El siguiente ejemplo crea 5 variables llamadas a1,a2, a3, a4 y a5, que toman los valores de 1, 4, 9, 16 y 25.

for k=1:5
eval(sprintf('a%d=k^2',k))
end

MATLAB está optimizado para operar con matrices, por lo que es mejor usar un vector para almacenar las soluciones y así evitar crear muchas variables. Por ejemplo si tu programa obtiene una solución la almacenamos en un vector:
solucion = algo;
vector(end) = solucion;

Luego, si deseamos usar la última solución:
ultima = vector(end)

Si deseamos las tres primeras soluciones:
primera = vector(1);
segunda = vector(2);
tercera = vector(3);

Si deseamos las tres primeras soluciones ordenadas de menor a mayor:
vector = sort(vector);
primera = vector(1);
segunda = vector(2);
tercera = vector(3);
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