问题标签 [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 - 如何在 Matlab 句柄类中创建“单向依赖”
我对 Matlab 相当陌生,我想知道是否有一种方法可以创建“单向句柄类”。
为了更好地解释,假设我有一个名为 test_class 的类,具有属性“prop1”和“prop2”
我希望将更改应用于 test_1(父)中的属性以影响 test_2(子),但我不希望 test_2 中的更改影响 test_1,所以
有没有办法创造这种“单向依赖”?
提前致谢!
matlab - 如果它是类的属性,为什么更改表的变量名不起作用?
过去,我一直在广泛使用 Matlab 的table
类。这个非常简单的代码,在脚本内或提示符下,按预期工作:
现在,我拥有与a相同table
的.property
handle class
如果我在命令提示符下执行以下命令,则将zeros
其分配给table
,但VariableNames
保留其默认值,即{'Var1', 'Var2'}
等。
甚至tc.testTable.Properties.VariableNames = varNames
不会改变它们。
这是一个错误,还是我错过了什么?(我正在使用 Matlab R2017b)
matlab - 在从对象方法调用的 Simulink 工作表中保留交互性
假设我在 Simulink 中设置了一个仿真,它由三个块组成:输入(From Workspace
块)、模型计算(S-function
块)和结果(Outport
)。在我的课堂上,我对输入数据做了很多预处理,这里没有展示。然后,我将 Input 块指向使用inputArray
,这是我的类的一个属性。
我可以从命令提示符轻松启动模拟运行。
但是,如果我使用一些设置(例如,不同的求解器)并在 Simulink 中按Run,它不起作用,因为数据不在base
工作区中。即,我失去了与 Simulink 的交互性。
关于如何解决这个问题的任何想法?到目前为止,我想出的唯一解决方法writePropertiesToBaseWorkspace
是编写一个附加方法(如),它将类转换properties
为变量,使用assignin()
.
matlab - 将类转换为结构体并存储在 .mat 文件中 - MATLAB
我有一个类,它具有一些属性,它们是其他类的对象,当我将类转换为结构并检查数据时,所有属性的完整信息都存在。但是在将其存储到 .mat 文件后,当我加载数据时,作为其他类实例的属性消失了!数据字段为此为空。有人可以帮忙吗?
matlab - Matlab类动态填充一个属性
我正在尝试动态填充 Matlab 类中的属性。我将向量传递给方法函数,然后计算各种参数。我想在 for 循环中填充属性,请参见代码示例。OwnClassFunction 只是类中另一个函数的示例,但在代码示例中没有实现。我怎样才能正确地做到这一点?
如果我尝试这样的事情
我收到错误消息Subscripted assignment dimension mismatch。
matlab - 删除图形基元的 MATLAB 子类
我正在尝试在 MATLAB 2017b 中创建一个类似于 Line 对象类的类,但析构函数有问题。我想与其他图形对象实现类似的行为,当删除句柄时不再引用该对象,如下例所示:
如果包含线的图形l1
现在已关闭,则变量显示它l1
正在引用已删除的对象:
我创建了以下类:
如果包含圆形对象的图形是闭合的,则该线被删除,但圆形对象仍然存在。有没有办法同时删除对圆对象的引用?
matlab - MATLAB:如何制作名称与关键字相同的属性?
在这篇文章(https://blogs.mathworks.com/loren/2012/07/16/who-what-why-but-not-this/)中,靠近底部的 Loren 说类属性可以与关键字相同。然而,这怎么可能?如果您编写 classdef 脚本,任何尝试在属性块中使用关键字(包括类关键字,如“events”)都会出现红色语法错误。她误会了吗?我问是因为我真的希望属性名称成为特定应用程序的关键字。
c++ - 从 MAT 文件中读取 C 应用程序中的自定义类
我想在 C++ 独立应用程序的 MAT 文件中访问自定义 MATLAB 类的属性。自定义类是在 MATLAB 中创建的类,如下所示:
此类的一个实例现在保存到一个 MAT 文件中,并且应该由一个独立的 C 应用程序访问。
显然,MATLAB 提供了一个用于在 C 应用程序中读取 MAT 文件的库。这适用于“普通”类型,并且 API 似乎提供了mxGetProperty
访问自定义对象的功能。但是,如果我尝试使用此函数运行一个最小示例,它会失败并在management.cpp:671
. 最小的例子是:
仔细查看文档会发现限制:
mxGetProperty
不支持独立应用程序,例如使用 MATLAB 引擎 API 构建的应用程序。
是否有任何其他可能customClass
从独立的 C++ 应用程序访问 MAT 文件中的 a ?
matlab - “OOP”和“功能”方法调用语法之间的区别
在这个解释inputParser
类使用的页面上,
我们看到inputParser
示例中的每个方法调用都具有以下形式
代替
例如
代替
p
if 的实例在哪里inputParser
。
我会说这使得它不清楚addRequired
来自哪里,而不必which
在调用它之前搜索它或代码中的实例化行。在addRequired
任何情况下都可以使用中断封装,这似乎与您最初引入 OOP 所希望的完全相反。
我怀疑有充分的理由牺牲可读性并以这种特殊方式编写文档。
所以我的问题是, MATLAB 中的“功能”和“OOP”语法之间有什么实际区别吗?
matlab - Matlab内置对象的方法
这两个调用序列get(a) 和 a.get()有什么区别?