gpt4 book ai didi

oop - matlab getter/setter 方法。为什么他们让我的程序 super 慢?

转载 作者:行者123 更新时间:2023-12-04 14:45:53 26 4
gpt4 key购买 nike

只是在我的程序中添加 getter/setter 方法会使我的程序变得非常慢。对此有什么解释吗?

function set.x(obj,newx)
obj.x = newx;
end

function x = get.x(obj)
x = obj.x;
end

这就是我在句柄类下定义它们的方式。还是我没有正确实现它们?

编辑

类定义...

classdef sensorlocest < handle

properties(GetAcess = 'public', SetAccess = 'private')
sensorId; % sensor id
X; % true x-coordainate
Y; % true y-coordinate

x; % estimate of X
y; % estimate of Y
end

methods
function sesnors = sensorlocest(x,y)
if nargin ~= 0
sesnors(49,1) = sensorlocest;
for k = 1:length(sensors)
sensors(k).sesnorId = k;
sensors(k).X = x.*rand;
sensors(k).Y = y.*rand;
end
end


function init(sensors,x,y)
N = length(sensors);
for i = 1:N
sensors(i).x = x.*rand;
sensors(i).y = y.*rand;
end
end

function set.x(sensors,newx)
sensors.x = newx;
end

function set.y(sensors,newy)
sensors.y = newy;
end
end
end

最佳答案

不,你是对的。他们确实有开销,看看这个线程: Is MATLAB OOP slow or am I doing something wrong?

关于oop - matlab getter/setter 方法。为什么他们让我的程序 super 慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12140152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com