how to uncombine variables from one variable?
1 次查看(过去 30 天)
显示 更早的评论
Hi again i have one variable which contains 181 variables. do you know how to uncombine these variables from one variable?
2 个评论
Geoff Hayes
2015-1-23
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.
采纳的回答
Image Analyst
2015-1-23
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 个评论
Image Analyst
2015-1-23
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
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Data Type Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!