在Matlab动态对象(Dynamic Objects in Matlab)

2019-10-19 23:31发布

我有一种情况通过只输入对象的数目在for循环和期望的输出是变量名和分配 初始化到相应位置矢量的阵列,在Matlab创建动态对象以及它们的变量。 不过我试过eval()但它并不能帮助我,因为我想编写一个函数和其他复杂,我teried非常多,但能找到我的方案的妥善解决。 什么建议应根据我的情况,可能是功能或没有。 EDIT1:位置矢量被预定义。 字符串编号的对象,它不是强制性的。 我的代码:

function myFunc(n)
for ii=1:n
Obj(ii) = 'some string required with its number of ii';
 Obj(ii).position=position(ii);
end
end

Answer 1:

您是否尝试过分配你的对象的细胞结构?

您可以定义一个细胞结构有两个位置索引,和细胞结构可以存放其他物品,如合适的对象,线性模型

models = cell(100,100) 
for i = 1:100
    for j = 1:100
        Obj{i,j} = ....  % where ... is your expression that generates an object
    end
end

从细胞结构内,就可以打开该对象并检查所有不同类型的变量,例如表,双打,公式,细胞,STR,chararray等。



文章来源: Dynamic Objects in Matlab