1

我想从同一 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函数应该怎么写(即现在写对了吗)?以及将新值分配给属性的语法应该如何。

在此先感谢您的帮助!

4

1 回答 1

1

你可以简单地写

obj.detTP = value;

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

set(obj, 'detTP', value);

乍一看,您的 set-method 看起来不错。

于 2013-11-18T12:46:10.810 回答