matlab - 在第二级结构中赋值

标签 matlab dynamic-variables

我正在处理 matlab 中的一个小棘手问题:

我想给动态创建的结构体赋值(2. level):

我的结构如下所示:

a.b.c = 1    %Creates a struct with two levels

现在我想用 c1, c2, c3,...cn 自动填充 a.b 作为 c 的邻居元素。此外,第一个 leven b 必须动态更改,因此我无法对任何“路径”进行硬编码...所有值均由前缀(例如 b 或 c)和后缀(只是一个增加的数字)组成一个循环)

我主要关心的是,这个过程必须通过循环而不是手动完成(否则我会通过手动编辑进行许多复制/粘贴行)。

如果有人能给我提示,那就太好了。

问候,波斯克伦

最佳答案

我不太确定这是否是您要找的。它使用动态字段名称创建 11 个 b 条目和 n c 条目:

>> n = 5;
>> for ii = 1:11
for jj = 1:n
a.b(ii).(sprintf('c%u', jj)) = 1;
end
end
>> a

a = 

    b: [1x11 struct]

>> a.b(1)

ans = 

    c1: 1
    c2: 1
    c3: 1
    c4: 1
    c5: 1

>> a.b(3)

ans = 

    c1: 1
    c2: 1
    c3: 1
    c4: 1
    c5: 1

关于matlab - 在第二级结构中赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5323981/

相关文章:

Matlab 内存不足错误在一维和二维数组中的表现不同

c++ - 在 C++ 中标记兴趣点

xml - 存储 XML 数据的优雅解决方案

JavaScript 动态变量名称

PHP 获取字符串并检查该字符串是否作为变量存在

java - 在 Java 中为变量分配动态名称

python - 通过Python接口(interface)在Matlab中导入Tensorflow

python - 有人可以在 python (scipy.io) 中解释 mdict,例如在 scipy.io.savemat() 中吗?

file - MatLab - 根据名称执行函数

javascript - 如何在Angularjs、javascript等脚本语言中创建动态变量?