Address a variable using the name of another variable
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Philipe
el 4 de Dic. de 2013
Greetings. I`m using Matlab to analyse some of my biology experiments and I`m currently having problems. Since I`m using a lot of strange variables and a lot of data, I`ll summarise my problems in this example:
% create a 1x2 cell with chars
list{1,1}='A';
list{1,2}='B';
%create a simple vector
testA=[1 2 3 4 5 6 7 8 9 10];
%get the mean
mean_testA=mean(testA);
What I want is to be able to use the char in “list” to address testA.
Something like mean_testA=mean(test list{1,1})
Thank you!
0 comentarios
Respuesta aceptada
Sean de Wolski
el 4 de Dic. de 2013
Sounds like you probably want to look into using structures with dynamic fieldnames
Also, in the FAQ:
0 comentarios
Más respuestas (1)
Matt J
el 4 de Dic. de 2013
Editada: Matt J
el 4 de Dic. de 2013
It seems to make the most sense to put your actual data in test_list{i}, e.g.,
test_list{1,1}=testA;
Then your command mean_testA=mean(test list{1,1}) will do exactly what you want. You can also do things like
S.A=testA;
S.B=whatever;
testlist=fieldnames(S);
mean_testA = mean(S.(testlist{1}))
mean_testB = mean(S.(testlist{2}))
0 comentarios
Ver también
Categorías
Más información sobre Waveform Generation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!