当前位置:  开发笔记 > 编程语言 > 正文

在Matlab中设置向量的初始类型

如何解决《在Matlab中设置向量的初始类型》经验,为你挑选了1个好方法。

我想声明一个接受用户定义类型插入的空向量.在下面的示例中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.

接受下面的代码是因为向量初始化为nodein,因此以后可以插入节点.

>> a = [node(1,1,1)];
>> a(1) = node(1,2,1);

但是,我想创建一个可以在其中插入节点的向量.我可以这样做尴尬:

>> a = [node(1,1,1)];
>> a(1) = [];

什么是更好的方式?我正在寻找一些声明空矢量的初始类型的东西node.如果我可以编写语法,它看起来像:

>> a = node[];

但那不是有效的Matlab语法.有没有办法做到这一点?



1> marsei..:

可以创建空对象

A = MyClass.empty;

它与你自己的类,但也与Matlab的类

A = int16.empty;

此方法能够使用此语法创建多维空对象

A = MyClass.empty(n,m,0,p,q);

只要一个维度设置为零.

见文档.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有