我使用Matlab创建GUI。因此,我使用了matlab的指导功能。 我想将滑块值存储在矢量中。我在回调函数中这样做:
for i = 1:10
X(i) = get(handles.slider1,'Value');
end
但是这导致向量存储相同的值10次。我真正想要的是将滑块的最后10个值存储在矢量中。有什么想法吗?
答案 0 :(得分:1)
我建议在启动GUI时创建一个1 x 10
零向量,即在GUI的OpeningFcn
中:
handles.X = zeros(1,10);
guidata(hObject,handles); % Update handles variable
然后在滑块的Callback功能中,您始终将向量向右移动并在第一个位置添加新值:
x = get(handles.slider1,'Value');
handles.X = [x, handles.X(1:end-1)];
guidata(hObject,handles); % Update handles variable
现在X
始终包含滑块值的最后10个值,X(1)
是最后一个值,依此类推。
在滑块未移动10次之前,某些值将不正确,即它们只是零。如果这是一个问题,您可以在回调中动态增长X
向量。