2 つのファイルを読み取り、それらを 2 つの変数に割り当てる関数があります。
skelfile='data/name.asf'; %asf and amc files are associated,both needed for later stages
motfile='data/name.amc';
[skel,mot]=readMocap(skelfile,motfile);%the function that i need to use is the readMocap
上記のコードは、数値と文字の両方の情報を持つ 1X1 構造体として変数 skel,mot を与えます (構造体フィールドとして数値、セル、文字列、aarays を含みます)。
問題は、Gui内で関数を使用する方法です!! 私は 2 つのファイルをロードし、2 つの静的テキストで asf、amc ファイルの両方のファイル名を表示する pusshbutton を使用します。 (フレームシーケンス)
function pushbutton_Callback(hObject, eventdata, handles)
% hObject handle to load_MoCap (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename, pathname] = uigetfile('*.asf', 'MoCap files');
% show name at the static texts
if isequal(filename,0)
set(handles.asf_filename, 'String', 'Please select an .asf file to continue')
else
set(handles.asf_filename, 'String', filename)
skelfile=filename;
[filename2, pathname2] = uigetfile('*.amc;*.c3d', 'MoCap files');
if isequal(filename2,0)
set(handles.amc_filename, 'String', 'Please select an .amc file to continue')
else
set(handles.amc_filename, 'String', filename2)
%the problem
============
%from here i want to run the function and have at a static text the text that
%have when i write skel in the command promt of matlab, or at least somehow
%evaluate tha skel and mot have been assigned as structs
motfile=filename;
[skel,mot]= readMocap(skelfile, motfile);
handles.skel=skel;
handles.mot=mot;
set(handles.skel_mot,'String',skel)
% skel_mot is the static text that refer above
%and i use as property type at the set command th 'string' but i don't think
%that is correct . skel variable is a 1x1 struct
end
end
guidata(hObject,handles);
空の GUI を開始するとき、コードにはデフォルト以外のものはありません。a) GUI の開始関数に何か (ハンドル) を追加する必要がありますか??ファイルをロードする前に何かを開始したくありません。b) ファイルからの情報を、GUI から呼び出される他の関数の入力として使用したいので、GUI 内で関数を呼び出したときにそれらを入力として使用するにはどうすればよいですか??as skel、mot、または handles.skel,ハンドル.モット??
ご回答ありがとうございます。