にボタン一つからの出力を渡すと、おそらく私の問題は、ガイドに似ているけれども、私は、アプリケーションデザイナを使用してMATLAB GUIに取り組んでいます。 私がしたいのは、あるコールバック(ボタン)の出力を別のコールバックに渡すことです。その理由は時間とともに効率的であることです。ユーザーが最初にファイルを読み込んでから、プロットするデータの列を選択できるようにします。MATLABアプリケーションデザイナー:別の
私はグローバル変数を確立しようとしたが、それは動作するようには思えません。
私のプロジェクトの目的は、(:時間をかけて温度や湿度など)の測定値の数百の「行」でデータの数十「列」を含むXMLファイルをロードすることです。私の考えは、ユーザーがデータをロードするために1つのボタンを押してから、表示するカラムを選択することです。
methods (Access = private)
% Button pushed function: SelectNewFileButton
function SelectNewFileButtonPushed(app, event)
[filename, filepath] = uigetfile('..\*.*');
app.FileNameEditField.Value=filename;
app.FilePathEditField_2.Value=filepath;
end
% Button pushed function: LoadDataButton
function LoadDataButtonPushed(app, event)
% Loads XML data...
global xHead;
% EM_witsfun1 is a function which takes a file name & directory as an input, and returns the header and data
[xHead, xData, toc1]=EM_witsfun1(app.FileNameEditField.Value,app.FilePathEditField_2.Value);
app.DataLoadedinsEditField.Value=toc1; % Shows elapsed time after running the above function (just to make sure it works)
end
% Button pushed function: UpdateButton
function UpdateButtonPushed(app, event)
app.ChosenChannelNameEditField.Value=xHead{app.ChooseChannelNumberEditField.Value};
end
end
エラーがある:
未定義の関数または変数
xHead
。
はおそらく、私は(私は、テキストボックスに行っているだけのような)関数内で更新することができます関数の外で定義されたものがあるが、私はそれを行うための最もエレガントな方法であるかを正確にはわかりません。 GUI表示の
画像:
は、私は私の問題を解決すると信じています。例えば、リストボックスにセル配列の要素を渡すこと: app.ListBox1.Items = {「newString1」、「newString2」}。 は、このようにリストボックスの新しい要素は、アプリケーション全体でアクセス可能です。私はデータで同じことをするつもりですが、テーブル内のすべてのデータを表示することなく(時間がかかる)、これを行う方法がわかりません。 –