Matlab - Como crear varias variables

 
Vista:
sin imagen de perfil

Como crear varias variables

Publicado por Jose Yezid (4 intervenciones) el 12/02/2016 02:13:07
Buenas noches.

Me gustaría que me ayudaran en resolver mi siguiente problema. Resulta que tengo una variable la cual voy a llenar con unos datos a medida que va ejecutando el programa. Pero mi problema es que este debe repetir este proceso varias vecez y no quiero que se borre los datos anteriores con los nuevos datos. Porque necesito todos esos datos n datos que ingreso en mi variable.

Ejemplo:

x1=[........] --> aquí va guardar datos en forma de matriz
x2=[........]
x3=[........]
x4=[........]
x5=[........]
.
.
.
.
hasta
xn=[.....]

por ende yo quisiera saber si podria crear una variable con un ciclo for

for i=1:1:n

x(i)=[.....]

end

pero esto no me crea varia variables x1,x2,x3,...,xn. Si no me va crear un vector X con n posiciones y pues esto no me sirve porque allí adentro voy a tener en matriz.

Ojala
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 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 crear varias variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 12/02/2016 12:58:35
1
2
3
4
5
6
7
clear
n=3;
for i=1:n
    A=rand(3,2);
    v = genvarname(['x',num2str(i)]);
    eval([v,'=A']);
end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
>> genvarname10
 
x1 =
 
    0.1190    0.3404
    0.4984    0.5853
    0.9597    0.2238
 
 
x2 =
 
    0.7513    0.6991
    0.2551    0.8909
    0.5060    0.9593
 
 
x3 =
 
    0.5472    0.2575
    0.1386    0.8407
    0.1493    0.2543


Saludos
JOSÉ JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación en Matlab
[email protected]
Toda ayuda gratuita es vía foro


http://matlabcaballero.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Como crear varias variables

Publicado por Jose Yezid (4 intervenciones) el 12/02/2016 14:35:18
Buenos días Jose Cabellor. Muchas gracias por tu respuesta voy a probarlo, le agradezco
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 crear varias variables

Publicado por Jose Yezid (4 intervenciones) el 14/02/2016 23:14:54
Buenas tardes José Jeremías Caballero, si me funciono pero me podrías colaborar como puedo hacer para que no me lo muestre, pues mi código es largo y cada vez que entra a ese ciclo me muestra esas variables o no se puede? :(
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 crear varias variables

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 14/02/2016 23:19:15
1
2
3
4
5
6
7
8
9
clear
n=3;
for i=1:n
    clc
    A=rand(3,2);
    v = genvarname(['x',num2str(i)]);
    eval([v,'=A']);
   clc
end
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 crear varias variables

Publicado por Jose Yezid (4 intervenciones) el 14/02/2016 23:27:33
:D jaja muchas gracias, no creí que fuera así pues imagine que me borraría los datos guardado en cache.
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

Como crear varias variables

Publicado por Héctor Hernández (3 intervenciones) el 22/02/2016 20:00:18
Otra forma de guardar tu datos en varias matrices es de la siguiente forma:

1
2
3
4
5
6
7
8
for n=1:N
 for k=1:M
 
  eval(['variable',num2str(n),'(k,1)=expresion;'])
  eval(['variable',num2str(n),'(k,2)=expresion;'])
 
 end
end
saludos
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
Val: 31
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por manuel antonio (13 intervenciones) el 20/06/2019 20:28:33
Hola José jeremías, un gusto saludarle, me sirvió de mucho su acertada explicación, pero me surgió otra duda, como hago para que matlab me sume todos los x1,x2,x3....xn. 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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 20/06/2019 21:34:34
1
2
3
4
5
6
7
8
9
10
clear
n=5;
suma=0;
for i=1:n
    A=rand(3,2);
   eval(['x',num2str(i),'=A']);
   eval(['suma=suma+x' num2str(i) ';'])
end
disp('suma total')
disp(suma)
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
Val: 31
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por manuel antonio (13 intervenciones) el 20/06/2019 23:21:29
Jesús David, resulta que cunado aplico lo recomendado, me sigue arrojando varias matrices que suman el acumulado de las 2 anteriores, sin embargo solo necesito que en una matriz me muestre el total de la suma de las matrices generadas. Es decir Una sola matriz final, muchaw gracias por tu tiempo.
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 20/06/2019 23:41:55
estimado, comprobé y me da el resultado de la suma total de las matrices generadas :

x1 =

0.8774 0.0993
0.3404 0.7057
0.1643 0.7107


x2 =

0.6172 0.2642
0.5465 0.6597
0.8398 0.4859


x3 =

0.9539 0.2166
0.9156 0.9550
0.1952 0.1779


x4 =

0.8739 0.0848
0.1747 0.0463
0.1137 0.6656


x5 =

0.1320 0.7073
0.2557 0.1894
0.7095 0.7407

suma total
3.4544 1.3722
2.2329 2.5562
2.0225 2.7808



si haces x1+x2+x3+x4+x5 te daría la variable suma que es la suma total , y comprobé que son iguales en matlab

1
isequal(x1+x2+x3+x4+x5,suma)

ans =

logical

1
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
Val: 31
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por manuel antonio (13 intervenciones) el 04/07/2019 01:52:17
Jesús David, agradezco tu valiosa respuesta, dime ¿como puedo hacer para obtener "La suma total" y la variable xi, se oculte?
Muchas gracias por tu respuesta
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 04/07/2019 02:06:35
1
2
3
4
5
6
7
8
9
10
clear
n=5;
suma=0;
for i=1:n
    A=rand(3,2);
   eval(['x',num2str(i),'=A;']);
   eval(['suma=suma+x' num2str(i) ';'])
end
disp('suma total')
disp(suma
)
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
Val: 31
Ha aumentado 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Como crear varias variables

Publicado por manuel antonio (13 intervenciones) el 18/04/2020 07:13:55
Buen dia, reciban mi cordial saludo mi consulta es la siguiente:
como puedo indicarle a matlab que me almacene los datos en una matriz de tal manera que se situen una debajo de la otra, es decir H=[x1;x2;x3;x4;x5......]
Agradezco su atención.
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