问题标签 [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.

0 投票
1 回答
3367 浏览

matlab - 在另一个 .m 文件中使用 classdef 的属性?

这是我的代码:

调频:

测试.m:

当我在命令窗口中输入 test 时,它会告诉我以下信息:

0 投票
1 回答
4618 浏览

matlab - 使用 Matlab 中的方法设置对象属性

我正在 MATLAB 中创建一个类,虽然我对对象几乎没有经验,但我几乎可以肯定我应该能够使用类方法设置类属性。这在 MATLAB 中可行吗?

0 投票
4 回答
15561 浏览

matlab - MATLAB类中如何获取静态成员变量?

有没有办法在 MATLAB 类中定义静态成员变量?

这不起作用:

建议使用关键字“Constant”而不是“Static”,不能修改常量属性。我想要一个类的所有对象共有的变量,A并且我希望能够在类的方法中修改该变量A

所以我需要的是一个私有静态成员变量。有没有办法在 MATLAB 中获得它?


发现可以使用静态成员函数中的持久变量来完成解决方法。

在这种情况下,您应该从一个基类继承所有类,如下所示。

0 投票
3 回答
3414 浏览

matlab - Matlab中使用定时器的回调函数

我正在研究 MATLAB 中的内容分发服务器的统计模型,并决定使用 OO 编程。这是我第一次使用 MATLAB 涉足 OO,但遇到了障碍。我正在尝试对与服务器的下载连接进行建模,目前它只是一个 MATLAB 计时器和一个布尔值。当计时器到期时,我想将isActive字段设置truefalse。我觉得很简单,但我已经为此奋斗了一天多。到目前为止,以下是该类的代码:

0 投票
3 回答
7685 浏览

matlab - MATLAB - 创建对变量的引用(句柄?)

假设我有以下课程:

假设我实例化了这个类的一个实例,然后稍微操作它,然后复制它。因为它是一个句柄类,所以“副本”实际上只是同一对象的另一个实例:

但我想观看A而不需要实例化 myClass。天真地做

不起作用,因为这只是复制值;以后换宁w.A就不会变了value

有没有办法提供一个“指针”或“引用”w.A而不必创建一个单独的句柄类?我宁愿保留符号w.A而不是类似的东西w.A.value(我必须创建句柄类来包含该值)。

编辑:我正在使用此功能来帮助封装我的代码以供我的研究实验室使用。我正在设计 MATLAB 和 Arduino 之间的接口来控制空中和地面车辆;我希望访问诸如“ vehicle.pwmMax”、“ vehicle.flightCeiling”等内容,以封装底层对象:“ vehicle.Globals.pwmMax.value”等。

0 投票
1 回答
4702 浏览

matlab - MATLAB - 使用“清除”时运行对象析构函数?

假设我有一堂课myClass < handle。在Mathworks 帮助页面上clear

清除句柄图形句柄不会删除对象本身,删除对象也不会删除存储其句柄的变量。

所以clearing 一个句柄对象不会将它从内存中删除,除非我delete首先明确它..

我指定了一个析构函数myClass来进行适当的清理并删除对它的一些引用;不调用此析构函数clear。当我的对象被清除时,是否可以调用该析构函数?

编辑:我应该提到,如果没有对对象的引用,delete则会自动调用 a ,但我有另一个类,比如引用 的属性,比如。另外还有其他属性不是 的属性,但如果也是空的,它们应该是空的。让我知道如果这没有意义,那可能有点太罗嗦了。clearmyClassmyOtherClassmyClassmyOtherClass.amyOtherClassmyClassmyOtherClass.a

0 投票
1 回答
739 浏览

matlab - 在 MATLAB 中本地定义枚举和常量

我想在函数范围内本地定义枚举和常量。

我看到 MATLAB 提供枚举和常量作为其面向对象编程框架的一部分。但是,如果您尝试在函数范围内定义它们,它们将不起作用。例如,如果您尝试以下操作,MATLAB 会抱怨“解析错误:无效语法”:

原因似乎是每个都classdef需要在自己的.m文件中定义。

我想避免.m为我使用的每个枚举或一组常量创建一个文件。有没有办法做到这一点?我有哪些选择?

附录 1:

正因为有人问我一个例子,这里是一个伪代码。这个例子描述了我定义和使用本地枚举的需要。

假设我有一个枚举类型colors,它可以是REDor BLUE。我想colors在我的函数中本地定义,并使用它来控制我在函数中的语句流:

附录 2:

我可以通过利用 Java 代码来做到这一点吗?如果是这样,怎么做?

0 投票
1 回答
104 浏览

matlab - 无法使用 matlab 类中的属性

以下 MATLAB 代码不起作用。我想它在函数转换器中有一些事情要做,MATLAB 尝试使对象相等,AB不仅仅是将值设置为相同。有什么解决方法吗?

0 投票
3 回答
2554 浏览

matlab - MATLAB:如何获取给定属性名称的类属性的值

如果我有一个类定义为

我想访问我要写的属性 foo

但是,如果我只有一个属性名称的字符串表示,并且不知道它是哪个属性,那我该怎么做呢?如下例所示:

我想要做的是有一个属性列表,遍历它并获取特定对象的值。似乎应该是可能的,但我未能在文档中找到它。

0 投票
2 回答
684 浏览

matlab - 我可以使用 str2func 调用类方法吗?

我试图str2func根据特定的属性值(在本例中obj.type)调用我的类的不同方法。

所以我有

但是,这不起作用。在E1行(上图)MATLAB 抱怨类self未定义并且 Java 可能没有运行?有没有办法让它工作,还是我必须在方法过程中使用开关结构来调用特定于类型的方法process_[type]