How to to create combined structure array with dynamic defined variable name?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi i used dynamic variable name to create structures. it works really good. after that i would like insert my measurement results(which are double arrays in to this structure) i mean
messung{i}.g (messung{i}=character)
it works really good with assignin too. What i did is:
% for i=1:length(handles.data)
aktuelpos=handles.data(i)
%set(handles.listbox1,'String',handles.data);
messung{i}=sprintf('P_%u_%u',handles.Posen.Position(i),handles.Posen.posen(i));
end
% assignin('base',messung{i},g)
Now i would like to concentrate created structure array in other array. Target: S.messung{i} The problem is messung{i} is a character array and messung{i}.a etc does not work unfortunately. I used eval too but i did not create below defined structure form.
% eval(['S.messung{1}', =messung{1}'])
Could u please help me? best regards
6 Kommentare
Stephen23
am 17 Jun. 2016
Bearbeitet: Stephen23
am 17 Jun. 2016
Aaah, what an informative error message. Of course that is what you get when you choose buggy and slow operators like eval and assignin. What you have a perfect example of why using these commands is such a bad idea (no matter how much beginners love using them): obfuscated, unclear code, buggy, cryptic, hard to debug.
You could either:
- learn why these commands are slow and buggy, and replace them with more reliable methods of passing data around, or
- try to get them working.
Which would you prefer?
Antworten (1)
Titus Edelhofer
am 17 Jun. 2016
Hi,
if I understand correctly, you are looking for dynamic field names:
S.(messung{1}) = messung{1};
Titus
0 Kommentare
Siehe auch
Kategorien
Mehr zu Structures finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!