【问题标题】:Dynamic Objects in MatlabMatlab中的动态对象
【发布时间】:2014-06-08 20:19:17
【问题描述】:

我有一个场景来创建 动态对象 以及它们的变量,只需在 for 循环 中输入 objects 的数量和所需的输出初始化变量名和赋值位置向量对应的数组,在Matlab中。 但是我尝试了 eval() 但这对我没有帮助,因为我想编写一个函数和其他复杂性,我非常努力,但可以找到适合我的场景的解决方案。 根据我的场景应该有什么建议,可能有功能也可能没有。 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

【问题讨论】:

  • 请发布一个带有类定义的完整示例。给定的例子并没有真正的意义。为什么字符串会有一个位置成员?位置向量从何而来?为什么不从函数中返回值?
  • @Silas 请检查编辑1
  • 它仍然没有意义。您将如何在循环之外创建单个对象?

标签: string matlab oop object for-loop


【解决方案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 等。

【讨论】:

    猜你喜欢
    • 2012-11-12
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-02
    • 1970-01-01
    相关资源
    最近更新 更多