我想声明一个接受用户定义类型插入的空向量.在下面的示例中node
是我定义的类型classdef node ...
以下代码被Matlab解释器拒绝,因为空向量自动初始化为double类型,因此无法node
插入其中.
>> a = []; >> a(1) = node(1,1,1); The following error occurred converting from node to double: Conversion to double from node is not possible.
接受下面的代码是因为向量初始化为node
in,因此以后可以插入节点.
>> a = [node(1,1,1)]; >> a(1) = node(1,2,1);
但是,我想创建一个可以在其中插入节点的空向量.我可以这样做尴尬:
>> a = [node(1,1,1)]; >> a(1) = [];
什么是更好的方式?我正在寻找一些声明空矢量的初始类型的东西node
.如果我可以编写语法,它看起来像:
>> a = node[];
但那不是有效的Matlab语法.有没有办法做到这一点?
可以创建空对象
A = MyClass.empty;
它与你自己的类,但也与Matlab的类如
A = int16.empty;
此方法能够使用此语法创建多维空对象
A = MyClass.empty(n,m,0,p,q);
只要一个维度设置为零.
见文档.