SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: fonsidani en Jueves 23 de Julio de 2009, 11:09

Título: uso de variables en bucles for
Publicado por: fonsidani en Jueves 23 de Julio de 2009, 11:09
Hola,

Tengo una duda sobre el manejo de las variables en un bucle for.
¿Puedo hacer que en cada vuelta que de el bucle for, la variable en la que quiero guardar algo tenga un nombre distinto?

Es decir, algo que sea por el estilo:

for i = 1:6
data(i) = i + 4;
end

obteniendo en este caso 6 variables distintas y cada una guardando un valor. Mi intención es, en este caso, tener: data1 = 5; data2 = 6; .... y asi sucesivamente.

Muchas gracias de antemano.

Saludos
Título: Re: uso de variables en bucles for
Publicado por: EliotHijano en Jueves 23 de Julio de 2009, 11:26
Por supuesto, tienes que utilizar un array:
Código: Matlab M
  1.  
  2. data=zeros(6,1);
  3. for i = 1:6
  4.    data(i) = i + 4;
  5. end
  6.  
  7.  
Pero nunca se puden crear variables cullos nombres dependadn del valor 'i', es decir, en vez de las variables data1, data2, data3,... tendrías un array con valores data(1) data(2),...

Por cierto, no es bueno utilizar i ó j en bucles, dado que son letras que matlab utiliza para numeros complejos, lo cual reduce la velocidad del bucle, utiliza 'in' en vez de 'i'
Título: Re: uso de variables en bucles for
Publicado por: fonsidani en Jueves 23 de Julio de 2009, 11:31
De acuerdo. Muchas gracias!!
Título: Re: uso de variables en bucles for
Publicado por: jp clon en Viernes 7 de Agosto de 2009, 20:23
De un manual saque esto:

El siguiente ejemplo va creando variables llamadas A1, A2, ..., A10 utilizando la
posibilidad de concatenar cadenas antes de pasárselas como argumento a la función eval:


for n = 1:10
eval(['A',num2str(n),'=0']);
end

saludos