问题标签 [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 - 如何在指南创建的 GUI 中使用用户创建的类
我正在 GUIDE 中创建一个应用程序。我发现使用 GUIDE 提供的“句柄”结构来快速存储数据会导致代码混乱/难以阅读。我决定最好的解决方案是创建自己的类来处理数据以及存储要在回调函数中使用的方法。我已经能够成功调用“annotatorGUI_OpeningFcn”(见下文)中的构造方法,但是当我在不同的回调函数中调用类方法时,它找不到对我的类的任何引用。此外,行“annotatorEngine = ....”用黄色下划线表示“分配给变量的值可能未使用”。似乎我的类声明并没有在整个 GUI 脚本中传播。我想避免使用“句柄”结构或声明“
编辑:到目前为止,似乎唯一有效的是将我的类对象声明为全局对象。但是,这仍然有点烦人,因为在每个回调中,我都必须编写“全局注释器引擎”。
我调用方法的地方。
matlab - matlab:将句柄类复制为值类
当将此类的对象分配给变量时,是否可以使 Matlab 调用copy
我的类TMyClass
(这是一个类)的方法。handle
换句话说,我希望我handle
的类在复制它时表现得像一个值类:
据我了解,没有办法覆盖=
Matlab 中的运算符。还有其他解决方法吗?
谢谢!
matlab - matlab oop - 我如何处理构造函数的输入?
我有一个句柄类,即mclass
下面,它应该在另一个具有相应输入参数的函数中构造。但是,我想在类本身的任何地方的构造函数中检查类构造函数的输入参数,并防止在输入不是所需类型时创建新的对象句柄。
但是,在调用m = mclass;
或m = mclass(0);
从命令行窗口之后,连同错误对话框,变量m
仍会在工作区中创建。如何防止m
被创建?
当然我可以在调用构造函数之前检查我的其他函数中的输入,但是无论如何让它成为类的“自检”特性?
matlab - uicontrol 回调函数输入参数过多
我的目标是从uicontrol
文本框中获取用户的输入,对输入进行操作,然后将输出显示到另一个文本框。MATLAB给了我错误:
这是我的代码:
matlab - 类句柄。MATLAB
我有 2 个类似的课程:
第二个:
有一次我从句柄继承。另一种我不做。在我创建这样的脚本之后:
如果我一步一步调试我的程序,我看到a和b在solver2.test()
. 但是第一堂课以后这些变量都变了solver1.test()
。这个问题的原因是什么?
matlab - 在 Matlab 中将结构属性的字段作为类的属性
我需要定义一个名为 MobileBaseStation 的类和一个名为 DataChannel 的属性,它是一个如下所示的结构,
设置器需要对 DataChannel 结构的字段强制执行边界/限制。我希望结构的字段成为 MobileBaseStation 类的属性,以便我可以使用设置器。如何在 Matlab 中实现这一点?
matlab - Matlab 类的依赖属性,可以使用 setter 存储值
Matlab 类属性有以下两个与我的问题相关的限制,
- 依赖属性不能存储值
- 属性的设置器(没有指定属性、访问说明符等的普通属性)无法访问其他属性。
在我的场景中,我需要一种解决方法,它允许我拥有一个也可以存储价值的依赖属性。对另一个属性的依赖仅用于条件语句,而不是用于将其值与其他属性本身一起分配。下面给出的代码片段说明了这种情况,这也是我的 Matlab 不允许的要求。
以上有什么解决方法吗?
matlab - 如何在 Matlab 中通过引用将结构或类对象传递给函数
我有几个大矩阵应该在迭代算法中多次传递给不同的函数。如何避免不必要地将变量复制到函数中以加快程序速度?有没有办法将这些矩阵分组到一个结构或类中并通过引用或指针传递它们?
谢谢。
更新:正如我在评论中看到的那样,我应该提供更多细节。我有几个大矩阵。它们中很少有在程序中保持不变,而另一些则在每次迭代时在每个函数中发生变化。因此,如果我按值传递这些矩阵,Matlab 会对其进行复制,更改值并再次将它们复制为函数的输出,然后它们超出范围并被销毁,并且在每次迭代中,所有这些不必要的复制都会使程序非常慢。如果我用 C++ 对其进行编程,我将对这些矩阵使用面向对象的编程,并将它们作为对函数的引用传递,但我不知道这在 MATLAB 中是否可行。
matlab - Matlab“值”类无法正常工作
我做了一个简单的 Matlab 类
我正在尝试使用它:
但是,这不起作用:某些类属性在循环执行之前被“遗忘”,从而导致错误。
如果我将一个类定义为一个handle
类
一切都很好。
我的值类哪里出错了?
matlab - 设置子类属性会导致意外错误
我有一个对象已被实例化为从串行NIRFlex
类继承的类。当我尝试从命令行为属性分配值时:0
Text_mode
我收到以下错误:
我的类定义、构造函数和set方法如下:
如果我删除该set
方法,我可以在命令行为该属性分配任意值,Text_mode
但我需要确保输入的值仅为1
or 2
。
我查看了带有属性的内置类型的子类文档@ MathWorks,但找不到答案。