
llamar variables del workspace
Publicado por victor (8 intervenciones) el 08/03/2017 05:44:32
Buenas estimados, una consulta, me estoy matando la cabeza para poder realizar la siguiente operación,
tengo por ejemplo 4 variables en el workspace, c1 c2 c3 c4, que obtuve con el siguiente código:
Ahora quiero para estas 4 variables que especificamente se crearon en el workspace tienen ya las posiciones para poder dividir mi matriz principal que es ejem por sus diferentes valores, ejemplo tengo algo asi:
ejem={a a a a; b b b b b b ;c c c c c; d d d}
y en c1=(1 2 3 4) c2=(5 6 7 8 9 10) c3=(11 12 13 14 15) c4 =( 16 17 18), esto ejemplificando yo poseo, ahora bien
quiero sin estar llamando a c1 o c2 etc... hacer algo parecido a esto:
for i=c1(1):c1(length(c1))%
GC1=(5+6) %y también que este vaya cambiando por cada c creado, osea obtener un GC1, GC2, GC3 hasta el GC4
end
ahora bien esto quiero hacerlo pero automático que solo cambie el último número para no estar haciendo otra vez lo anterior pero con c2 luego c3 y c4, etc...si hubiese más....
Bueno en esos estoy partiendome la cabeza y ya no halló como hacer.
tengo por ejemplo 4 variables en el workspace, c1 c2 c3 c4, que obtuve con el siguiente código:
1
2
3
4
5
6
7
8
CED=unique(ejem,'stable');
DIS_CED=length(CED)
for i=1:DIS_CED;
matriz=strcmp(ejem,CED{i});
matriz2=find(matriz==1);
vi=genvarname(['C',num2str(i)]);%tenemos las posiciones de los repetidos
eval([vi, '=matriz2']);
end
Ahora quiero para estas 4 variables que especificamente se crearon en el workspace tienen ya las posiciones para poder dividir mi matriz principal que es ejem por sus diferentes valores, ejemplo tengo algo asi:
ejem={a a a a; b b b b b b ;c c c c c; d d d}
y en c1=(1 2 3 4) c2=(5 6 7 8 9 10) c3=(11 12 13 14 15) c4 =( 16 17 18), esto ejemplificando yo poseo, ahora bien
quiero sin estar llamando a c1 o c2 etc... hacer algo parecido a esto:
for i=c1(1):c1(length(c1))%
GC1=(5+6) %y también que este vaya cambiando por cada c creado, osea obtener un GC1, GC2, GC3 hasta el GC4
end
ahora bien esto quiero hacerlo pero automático que solo cambie el último número para no estar haciendo otra vez lo anterior pero con c2 luego c3 y c4, etc...si hubiese más....
Bueno en esos estoy partiendome la cabeza y ya no halló como hacer.
Valora esta pregunta


0