• Sábado 18 de Mayo de 2024, 20:36

Autor Tema:  uso de variables en bucles for  (Leído 1253 veces)

fonsidani

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
uso de variables en bucles for
« en: Jueves 23 de Julio de 2009, 11:09 »
0
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

EliotHijano

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: uso de variables en bucles for
« Respuesta #1 en: Jueves 23 de Julio de 2009, 11:26 »
0
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'

fonsidani

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: uso de variables en bucles for
« Respuesta #2 en: Jueves 23 de Julio de 2009, 11:31 »
0
De acuerdo. Muchas gracias!!

jp clon

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: uso de variables en bucles for
« Respuesta #3 en: Viernes 7 de Agosto de 2009, 20:23 »
0
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