how to uncombine variables from one variable?

4 Ansichten (letzte 30 Tage)
cemsi888
cemsi888 am 23 Jan. 2015
Kommentiert: Image Analyst am 23 Jan. 2015
Hi again i have one variable which contains 181 variables. do you know how to uncombine these variables from one variable?
  2 Kommentare
Geoff Hayes
Geoff Hayes am 23 Jan. 2015
Pleas clarify - do you have a struct variable with 181 fields, or a cell array of variables, or something else? Provide a small example of what you have and what you would like to see after the variable has been broken apart.
cemsi888
cemsi888 am 23 Jan. 2015
Bearbeitet: Image Analyst am 23 Jan. 2015
I uploaded a picture. I have 181 fields in one structure variable.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 23 Jan. 2015
I have no idea why you want to do this - it seems like it would make the program less convenient after this. Of course you could always use the brute force way:
U_in_1 = s.U_in_1;
dp_SL_amp = s.dp_SL_am;
% and so on for the remaining 179 items...
You could tuck all that inside a function rather than clutter up your main program.
You could also use a loop if you call fieldnames() and eval().
  2 Kommentare
cemsi888
cemsi888 am 23 Jan. 2015
thanx a lot!! yes i can call fieldnames but i could not make out Loop. could you give me some advices?
Image Analyst
Image Analyst am 23 Jan. 2015
Try this:
% Reference: http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F
% Create sample data.
myStruct.field1 = 10;
myStruct.field2 = [20, 30, 40];
myStruct.field3 = 'abc';
myStruct.field4 = {'a cell array', 'cell #2'};
% Get the field names of the structure.
fn = fieldnames(myStruct)
% Go through all field names creating a variable with
% the name of that field, and with a value the same as that field.
for k = 1 : length(fn)
commandString = sprintf('%s = myStruct.%s', fn{k}, fn{k});
eval(commandString);
end

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by