我想从同一个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函数(即现在是否正确写入)?以及如何将新值分配给属性的语法。
提前感谢您的帮助!
答案 0 :(得分:1)
你可以简单地写
obj.detTP = value;
或者,如果您使用hgsetget
代替handle
作为基类,则可以
set(obj, 'detTP', value);
你的set方法一见钟情。