问题标签 [matlab-class]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - 在另一个 .m 文件中使用 classdef 的属性?
这是我的代码:
调频:
测试.m:
当我在命令窗口中输入 test 时,它会告诉我以下信息:
matlab - 使用 Matlab 中的方法设置对象属性
我正在 MATLAB 中创建一个类,虽然我对对象几乎没有经验,但我几乎可以肯定我应该能够使用类方法设置类属性。这在 MATLAB 中可行吗?
matlab - MATLAB类中如何获取静态成员变量?
有没有办法在 MATLAB 类中定义静态成员变量?
这不起作用:
建议使用关键字“Constant”而不是“Static”,不能修改常量属性。我想要一个类的所有对象共有的变量,A
并且我希望能够在类的方法中修改该变量A
。
所以我需要的是一个私有静态成员变量。有没有办法在 MATLAB 中获得它?
发现可以使用静态成员函数中的持久变量来完成解决方法。
在这种情况下,您应该从一个基类继承所有类,如下所示。
matlab - Matlab中使用定时器的回调函数
我正在研究 MATLAB 中的内容分发服务器的统计模型,并决定使用 OO 编程。这是我第一次使用 MATLAB 涉足 OO,但遇到了障碍。我正在尝试对与服务器的下载连接进行建模,目前它只是一个 MATLAB 计时器和一个布尔值。当计时器到期时,我想将isActive
字段设置true
为false
。我觉得很简单,但我已经为此奋斗了一天多。到目前为止,以下是该类的代码:
matlab - MATLAB - 创建对变量的引用(句柄?)
假设我有以下课程:
假设我实例化了这个类的一个实例,然后稍微操作它,然后复制它。因为它是一个句柄类,所以“副本”实际上只是同一对象的另一个实例:
但我想观看A
而不需要实例化 myClass。天真地做
不起作用,因为这只是复制值;以后换宁w.A
就不会变了value
。
有没有办法提供一个“指针”或“引用”w.A
而不必创建一个单独的句柄类?我宁愿保留符号w.A
而不是类似的东西w.A.value
(我必须创建句柄类来包含该值)。
编辑:我正在使用此功能来帮助封装我的代码以供我的研究实验室使用。我正在设计 MATLAB 和 Arduino 之间的接口来控制空中和地面车辆;我希望访问诸如“ vehicle.pwmMax
”、“ vehicle.flightCeiling
”等内容,以封装底层对象:“ vehicle.Globals.pwmMax.value
”等。
matlab - MATLAB - 使用“清除”时运行对象析构函数?
假设我有一堂课myClass < handle
。在Mathworks 帮助页面上clear
,
清除句柄图形句柄不会删除对象本身,删除对象也不会删除存储其句柄的变量。
所以clear
ing 一个句柄对象不会将它从内存中删除,除非我delete
首先明确它..
我指定了一个析构函数myClass
来进行适当的清理并删除对它的一些引用;不调用此析构函数clear
。当我的对象被清除时,是否可以调用该析构函数?
编辑:我应该提到,如果没有对对象的引用,delete
则会自动调用 a ,但我有另一个类,比如引用 的属性,比如。另外还有其他属性不是 的属性,但如果也是空的,它们应该是空的。让我知道如果这没有意义,那可能有点太罗嗦了。clear
myClass
myOtherClass
myClass
myOtherClass.a
myOtherClass
myClass
myOtherClass.a
matlab - 在 MATLAB 中本地定义枚举和常量
我想在函数范围内本地定义枚举和常量。
我看到 MATLAB 提供枚举和常量作为其面向对象编程框架的一部分。但是,如果您尝试在函数范围内定义它们,它们将不起作用。例如,如果您尝试以下操作,MATLAB 会抱怨“解析错误:无效语法”:
原因似乎是每个都classdef
需要在自己的.m
文件中定义。
我想避免.m
为我使用的每个枚举或一组常量创建一个文件。有没有办法做到这一点?我有哪些选择?
附录 1:
正因为有人问我一个例子,这里是一个伪代码。这个例子描述了我定义和使用本地枚举的需要。
假设我有一个枚举类型colors
,它可以是RED
or BLUE
。我想colors
在我的函数中本地定义,并使用它来控制我在函数中的语句流:
附录 2:
我可以通过利用 Java 代码来做到这一点吗?如果是这样,怎么做?
matlab - 无法使用 matlab 类中的属性
以下 MATLAB 代码不起作用。我想它在函数转换器中有一些事情要做,MATLAB 尝试使对象相等,A
而B
不仅仅是将值设置为相同。有什么解决方法吗?
matlab - MATLAB:如何获取给定属性名称的类属性的值
如果我有一个类定义为
我想访问我要写的属性 foo
但是,如果我只有一个属性名称的字符串表示,并且不知道它是哪个属性,那我该怎么做呢?如下例所示:
我想要做的是有一个属性列表,遍历它并获取特定对象的值。似乎应该是可能的,但我未能在文档中找到它。
matlab - 我可以使用 str2func 调用类方法吗?
我试图str2func
根据特定的属性值(在本例中obj.type
)调用我的类的不同方法。
所以我有
但是,这不起作用。在E1行(上图)MATLAB 抱怨类self未定义并且 Java 可能没有运行?有没有办法让它工作,还是我必须在方法过程中使用开关结构来调用特定于类型的方法process_[type]?