使用 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的主要内容,如果未能解决你的问题,请参考以下文章