![]() |
1
6
根据
this documentation
这也适用于 built-in types
关于预分配的说明。。。
preallocate the entire array 然后覆盖或修改循环中的数组元素。我将讨论如何对中的用户定义类执行此操作 an answer to another question |
![]() |
2
2
我用的就是这个。您可以使用稍微简洁的形式来接受标量大小参数。
请注意,您并没有将变量声明为具有类型;变量中的值仍然具有类型。 这将适用于旧样式和新的MCOS类。如果您正在使用所有新样式类,那么gnovice的“empty()”听起来是个好主意。 如果你觉得自己进步了,还有另外一个选择,为了完整起见,我把它包括在内。 您还可以在subsagn中为您的对象处理这个问题,至少对于老式的Matlab类是这样。如果您将索引赋值到一个在RHS(“右侧”)上有用户定义对象的单位化变量中,则会调用该类的subsagn,而LHS将作为[](一个空的double)输入。如果您有一个特殊的构造函数窗体,它允许您构造一个空对象而不调用对象上的repmat,那么您可以支持它,这样用户就不必用类的对象预先分配他们的变量。 在您的子任务中:
@mxdims类是您需要创建的一个特殊类,它包含一个大小向量,并用作调用此后门窗体的标记。方法返回它所表示的大小向量。
这是一个棘手的领域,Matlab的工作。在subsasgn和这样的类型系统中工作会产生很多细微的错误,包括segfaults。这样做将使您的用户定义对象的行为更加“完整”。但这涉及到工作和脆弱性,你最好还是坚持使用“repmat”( ,0)或“empty()”。 |
![]() |
Y.C. · 以不同颜色打印x轴上方的y值 3 年前 |
![]() |
dd24 · 在MATLAB中逐部分执行python程序 3 年前 |
![]() |
fateme · MATLAB,神经网络 3 年前 |
![]() |
Marta · 使用*时出错-内部尺寸矩阵必须一致 6 年前 |
![]() |
Morpheus · x*x^T的Matlab符号计算 6 年前 |
![]() |
Lawa · 如果列中的一个元素等于零,则将整列设为零 6 年前 |