使用 set 方法 MATLAB

Posted

技术标签:

【中文标题】使用 set 方法 MATLAB【英文标题】:Use set method MATLAB 【发布时间】:2013-11-18 12:39:33 【问题描述】:

我想从同一个 matlab 类中的函数更改 Matlab 类中属性的值。即类中的一个函数正在生成一个我想分配给该类的属性的值。

这是类的属性:

classdef myclass < handle

    properties (SetAccess = public)

    notional;
    T;
    u;
    nbrAnnualPayments;
    sigma_u;
    sigma_s;
    s_i;
    N2;
    cash_flow;
    paymentDates;
    detTP;
    volTP;

.....这就是set方法。

function set.detTP(obj,value)
    if ~(value > 0)
        error('Property value must be positive')
    else
        obj.detTP = value;
    end
end

现在我想写这样的东西:

obj.set.detTP(obj, value);

从另一个函数更新 detTP 属性的值。

我该怎么做?应该如何编写 set 函数(即现在是否正确编写)?以及将新值分配给属性的语法应该如何。

提前感谢您的帮助!

【问题讨论】:

【参考方案1】:

你可以简单地写

obj.detTP = value;

或者,如果您使用hgsetget 而不是handle 作为基类,您可以这样做

set(obj, 'detTP', value);

您的 set-method 乍一看还不错。

【讨论】:

以上是关于使用 set 方法 MATLAB的主要内容,如果未能解决你的问题,请参考以下文章

Matlab中set-gca函数的使用

如何去掉matlab图片空白边缘的两种方法

Matlab:保存到 eps 和 jpg 时,带有“set”的绘图选项失败

matlab里怎么样不显示横坐标,只显示纵坐标?

“matlab”中eval函数怎么用?

matlab中的set命令怎么用啊