如何使用字符串为不同大小的数组设计结构?

Posted

技术标签:

【中文标题】如何使用字符串为不同大小的数组设计结构?【英文标题】:How to design a struct for different size of arrays using strings? 【发布时间】:2020-07-09 06:50:50 【问题描述】:

我有不同大小的数组,例如[6:8][11:21][14:15] 等。 我需要将这些值分配给一个变量集,该变量集应包含在不同数组中指定的字符串。举个例子吧:

variables = ["a", "b", "c"];

% I need to design a structure just like below but inside a for loop. 
% Because I've lots of variables and arrays.
xx.a = [6:8];
xx.b = [11:21];
xx.c = [14:15];

有解决方案吗?

【问题讨论】:

【参考方案1】:

我不知道您的数据是如何组织的,但是您可以使用 variables 数组的字符串来动态索引结构字段:

variables = ["a", "b", "c"];
data1 = [6:8];
data2 = [11:21];
data3 = [14:15];

% Use string indexing of structs within loop
for ii = 1:numel(variables)
    xx.(variables(ii)) = dataii;
end

xx = 

  struct with fields:

    a: [6 7 8]
    b: [11 12 13 14 15 16 17 18 19 20 21]
    c: [14 15]

【讨论】:

是的。这就是我要找的。非常感谢

以上是关于如何使用字符串为不同大小的数组设计结构?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用分而治之的方法解决“固定大小的最大子数组”?

如何比较一个字符串数组与另一个结构体中的字符串的大小

如何使用动态大小的结构数组?

如何将数组转换成JSON-CSDN论坛

可变大小结构体如何定义详解

如何在C中使用动态大小的数组创建结构