如何在 Matlab 中格式化自定义类的命令窗口输出?

Posted

技术标签:

【中文标题】如何在 Matlab 中格式化自定义类的命令窗口输出?【英文标题】:How can I format the command window output of a custom class in Matlab? 【发布时间】:2018-11-02 11:52:16 【问题描述】:

当我将对象 ob 称为自定义类时,如何在 Matlab 的命令窗口中实现格式化输出?自定义类的常规输出是所有公共属性的列表,如下所示。

customss with properties:

    A: [8×8 double]
    B: [8×1 double]
    C: [2×8 double]
    D: [2×1 double]

例如,当我在 Matlab 中创建状态空间模型,然后在命令窗口中调用对象时,输出是系统矩阵和采样时间的格式化表示。即使通过调试,我也无法弄清楚是否可能调用某个函数来实现这一点。那么,如何创建这样的自定义输出呢?

【问题讨论】:

【参考方案1】:

MATLAB 有一个特殊的抽象类 matlab.mixin.CustomDisplay,您的类可以继承它以使显示行为可定制。

MathWorks 有一个 detailed documentation section,涵盖了允许的各种自定义。

【讨论】:

我没有控制系统工具箱来检查自己,但可能是内置的ssm类直接使用了这个方法来显示格式。如果是这样,您可以使用 edit ssm 或特别是 edit ssm.displayPropertyGroups 来检查它,以查看如何在您的自定义状态空间类中完全匹配行为。

以上是关于如何在 Matlab 中格式化自定义类的命令窗口输出?的主要内容,如果未能解决你的问题,请参考以下文章

matlab 怎么循环plot自定义颜色?

Sublime Text自定义扩展-格式化SQL参数 IN

如何使得matlab的计算结果默认显示为小数

在 MATLAB 中,是不是可以重新定义 `clear` 以清除命令窗口,而不是清除存储的变量?

matlab怎么建立自定义函数

matlab如何创建多维数组