这是我第一次在这里提问,我对MATLAB很新。所以,如果我的解释错误或不充分,我很抱歉。我很乐意听到任何改善自己的建议。
我想创建一个具有特定大小的数组的类。我们称这个班为“MyClass'”。我的课程如下:
classdef MyClass
properties
A = array2table(zeros(ArraySize,1));
end
end
变量ArraySize在我的main.m文件中定义,我想在同一个文件中从这个类创建一个对象:
ArraySize = 10;
MyObject = MyClass;
但是,我创建的类无法识别ArraySize变量。有人可以告诉我是否有一个简单的方法来实现这一目标? 到目前为止,我试图将它变成一个全局变量,我尝试使用' load'函数在文件之间传递参数。我尝试在函数中定义类。他们似乎都没有工作。我读到了关于'处理'在论坛中,我认为它可能与我的问题的解决方案有关,但我真的不知道如何使用它们。到目前为止我所理解的是句柄对应于C ++中的指针。我想知道他们是否可以用来解决我的问题,如果是的话,究竟是怎么回事。 提前谢谢。
答案 0 :(得分:2)
您应该编写构造函数以接受ArraySize
作为输入参数,然后在构造函数内初始化值A
。
classdef MyClass
properties
A
end
methods
function self = MyClass(arraySize)
self.A = array2table(zeros(arraySize,1));
end
end
end
然后实例化你的课程
myObject = MyClass(ArraySize);
关于handle
课程,请查看this page of the documentation,了解何时使用handle
和价值类的建议。