使用字符串数组的值来命名变量(Matlab)
Posted
技术标签:
【中文标题】使用字符串数组的值来命名变量(Matlab)【英文标题】:Use Value of String Array to name a variable (Matlab) 【发布时间】:2021-03-14 07:43:23 【问题描述】:我正在尝试将多个文件的结果合并到一个结构中。
所述结构应命名为以下名称:
result.[FileName1].Result1ofFile1
result.[FileName1].Result2ofFile1
result.[FileName2].Result1ofFile2
...
result.[FileNameX].ResultYofFileX
我将文件名保存在一个字符串数组中。因此
FileName(1) = "abc1"
FileName(2) = "abc2"
and so on
很遗憾,我不知道如何让它发挥作用。
最后它应该是这样的,不需要自己输入 abc-Names:
result.abc1.Result1ofFile1
result.abc2.Result1ofFile2
如何使用存储在数组中的字符串作为变量名?
【问题讨论】:
【参考方案1】:您可以使用dynamic struct field names。
>> result = struct;
>> FileName = 'test';
>> result.(FileName) = rand(10);
result =
struct with fields:
test: [10×10 double]
或者当使用字符串数组时:
result = struct;
for k = 1:numel(FileName)
result.(FileName(k)) = rand(10);
end
【讨论】:
非常感谢!这解决了我的问题:D以上是关于使用字符串数组的值来命名变量(Matlab)的主要内容,如果未能解决你的问题,请参考以下文章