使用set方法MATLAB

时间:2013-11-18 12:39:33

标签: matlab matlab-class

我想从同一个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 个答案:

答案 0 :(得分:1)

你可以简单地写

obj.detTP = value;

或者,如果您使用hgsetget代替handle作为基类,则可以

set(obj, 'detTP', value);

你的set方法一见钟情。