MatlabでGUIを作成しています。私は4つのスライダー、4つの静的テキストとプロットの軸を使用しています。私はスライダーから値を保存することに問題がありました。Matlab GUIコンポーネントからデータを保存する
スライダをデフォルト値に設定しました。 1つのスライダを動かすと、すべてが想定通りにプロットされます。別のスライダーで移動すると、最初のスライダーからの値がデフォルトに復元され、2番目のセットからの値が想定通りに復元されます。
たとえば、サイクロイドの半径を定義するスライダを使用します。それから私は、スライダの値を設定する関数を呼び出し、結果をプロットする関数を呼び出します。
それは次のようになります。
% setting slider
slider(1)=uicontrol(container_1,'Style','slider','Min',0.1,'Max',10,'Value',1,'Tag','r');
% setting slider value
set(slider(:),'callback',{@obj.setValue});
% function to set value and store it as obj.r = value
function setValue(obj,handle,~)
obj.(handle.Tag)=handle.Value;
myPlot(obj);
end
これは、全体のコードからちょうど切断片です。全体のコードは私のpasterbinである:
合計最大:
私は必要なもの、スライダーの値がデフォルトに復元されませんということですが、スライダーを移動した後に滞在します。
のクラスの2種類の詳細な説明を参照してくださいあなたの助けをいただき、ありがとうございます。今は完璧に動作しているようです。 –