【发布时间】:2013-04-30 15:47:00
【问题描述】:
我正在尝试在句柄类中创建一个简单的方法,该方法可以将两个值分配给元胞数组。第一个值是一个数字,只是一个观察数字。下一个值必须是两个字母的字符串。我尝试了以下方法:
function addemp(obj, num,ini)
obj.empnam(num,:) = {num,ini};
end
其中,mednum 是观察编号,medini 是字符串。我试过这样调用函数:
Addemp(m,1,'ES')
其中 m 是持有空 empnam 类属性的对象。
这会返回错误: 分配比非单件具有更多的非单件 rhs 维度 下标
所以我希望我的想法很清楚,我相信这是一个简单的语法错误。
非常感谢您
/拉瑟
【问题讨论】:
-
如何定义/init属性
obj.empnam? -
只是空的?我正在通过构造函数加载它:m = scheme 这只是给了我我决定拥有的四个空属性。
-
我的代码似乎在运行,因为数组已经创建,但是如何创建一个空的单元格数组?只是细胞()?因为这可能是我自己问题的解决方案..
-
似乎已经解决了,但也许不是最漂亮的解决方案。这就是我所做的: function addemp(obj, num,ini) if isa(obj.empnam, 'cell') == 0 obj.empnam = {}; obj.empnam(num,1:2) = {num,ini};否则 obj.empnam(num,1:2) = {num,ini}; end end 这似乎做到了。在我看来,问题在于该物业是空的,现在不知道如何行动。如果还没有,则不添加此逻辑会创建一个空元胞数组。感谢您的投入! /拉斯
标签: matlab