1. ホーム
  2. matlab

[解決済み] matlabでuicontrolコールバックの評価中にエラーが発生する

2022-02-27 17:25:34

質問

MATLABでスライダーを表示しているのですが、以下のようなエラーが発生します。

@(hObject,eventdata)rotate('slider1_Callback',hObject,eventdata,guidata(hObject))
??? Error while evaluating uicontrol Callback.

以下はコードです。

function slider1_Callback(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider
%        get(hObject,'Min') and get(hObject,'Max') to determine range of slider

a=get(handles.slider1,'Min',1,'Max',10,'Value',1);

%// error line:

function slider1_Callback(hObject, eventdata, handles)

解決方法は?

これは間違いです。

a=get(handles.slider1,'Min',1,'Max',10,'Value',1);

のどちらかを行うことができます。

a_min=get(handles.slider1,'Min');
a_max=get(handles.slider1,'Max');
a_val=get(handles.slider1,'Value');

よろしければ 得る のプロパティは uicontrol , または

a=set(handles.slider1,'Min',1,'Max',10,'Value',1);

よろしければ セット のプロパティは uicontrol .

以下のコメントをEDIT :

スライダーの現在値を編集用テキストボックスに表示させたいようですね。それなら、こうする必要があります。

a_val=get(handles.slider1,'Value');
str=sprintf('Slider value %f',a_val); 
set(handles.text1,'String',str);

あなたの質問は、よく練られ、自己完結していることを確認してください。あなたが実際に話してくれないと、私たちはあなたが何をしようとしているのか推測できません。