2017-03-03 7 views
0

私はスクリプトのための簡単なGUIを作って、パラメータ値を編集してそのスクリプトを実行することができます。MATLAB - GUIのパラメータの新しい値を.mスクリプトに渡す

2つのボタンでsc​​iptとGUIを作成しました。私はGUIコードにスクリプトコードを入れました。私はもっと大きなスクリプトでそれを説明しなければなりません。

ので、スクリプトコード:

number = 10; 
variable(1:10) = NaN; 

for i = 1:10; 
    variable(i) = i * number; 
end 

figure 
plot(variable) 

プッシュボタンのコードは、それが正常に動作しています。このスクリプトは、.Mファイルの名前、関数ではなく:

function pushbutton1_Callback(hObject, eventdata, handles) 
% hObject handle to pushbutton1 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
evalin('base','script') 

しかし、私は、スクリプトで「数」の値を変更したい場合は、編集ボタンのコードに入力するかを知らない:

function edit1_Callback(hObject, eventdata, handles) 
% hObject handle to edit1 (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,'String') returns contents of edit1 as text 
%  str2double(get(hObject,'String')) returns contents of edit1 as a double 

最後に、もっとグラフをプロットしようとすると、ある図形がGUI図形を上書きしてしまい、GUI全体ではなくボタンしか見ることができないことがあります。

ありがとうございました。

答えて

0

最後のコードにヒントがあります。

a = str2double(get(hObject,'String')); 

これは、コールバック関数のスタックで、doubleように、入力値を保存します。

[OK]をassignin

assignin('base', 'number', a) 
+0

を使用して、呼び出し側のスクリプトの(ベース)スタックにこの値を渡すために、それは簡単だった、ありがとう! GUIインタラースをboxplotグラフに置き換えないようにする方法を教えてください。 GUIを使用した後、私はこのようなボタンしか見ることができません: http://imgur.com/a/j2Zun –

+0

新しいフィギュアのボックスプロットを描くのはどうですか? – Yvon

+0

イエス私はダムです。他のすべてのプロットは、これだけ新しいものではありません。 これはおそらくすべてです。ありがとうございます。 –

関連する問題