Используйте метод set MATLAB
Я хочу изменить значение свойства в классе Matlab из функции в том же классе Matlab. Т.е. одна из функций в классе генерирует значение, которое я хочу присвоить свойству для этого класса.
Это свойства класса:
classdef myclass < handle
properties (SetAccess = public)
notional;
T;
u;
nbrAnnualPayments;
sigma_u;
sigma_s;
s_i;
N2;
cash_flow;
paymentDates;
detTP;
volTP;
..... и это заданный метод.
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-метод выглядит хорошо с первого взгляда.