0
我想用一個按鈕加載一個神經網絡對象文件,並在其他按鈕的回調函數中使用它。如何在MATLAB中的另一個回調函數中加載一個變量?
我沒有使用GUIDE,我正在以編程方式創建GUI。這裏是我的代碼:
function ASR()
figure('Name','Automatic Isolated Speech Rcognition System',.......
'Menubar','none',........
'Color',[1 1 1]);
Rcrd_and_Recog =uicontrol('Style','pushbutton',....
'Units','normalized',....
'Position',[0.75 0.75 0.20 0.05],....
'String','START',....
'Callback',@Record_Recog);
LD_net = uicontrol('Style','pushbutton',....
'Units','normalized',....
'Position',[0.75 0.65 0.20 0.05],....
'String','LOAD THE NET',....
'Callback',@load_net);
function load_net(varargin)
[file path]=uigetfile('*.mat','Select the M-file');
if ~isequal(file, 0)
L=load(fullfile(path,file));
Net=fieldnames(L);
net=Net{1};
handles.net=net;
end
function Record_Recog(varargin)
fs=16000;
y=wavrecord(1*fs,fs,1,'double');
if length(y)<1157
result=sim(net0,cat(1,y,zeros(1157-length(y),1)))
else
result=sim(net0,y)
end
end
我裝了net
變量,但我不能從Rcrd_and_Recog
達到目標。我怎樣才能達到它?
PLZ;有人幫我,我在這裏呆了兩天。 – user1646349
你好,世界可以更多地描述你提到的過程;或者具體告訴我在哪裏我必須在我的代碼中進行編輯。 – user1646349
對不起,遲到的迴應。如果它仍然相關,我會看到你想加載變量並將它保存在某個地方,然後在其他地方使用它。一種選擇是你似乎試圖做的是將它保存到其他對象,但是然後你需要一個標籤或一個文本框,但不僅僅是句柄。或者你可以通過在函數load_net開頭寫入「global net」來聲明它爲全局變量,這意味着你現在可以在其他函數中使用這個變量。然後在函數「Record_Recog」中寫入「全局網絡」,然後使用它,而不是其他地方不使用的net0。 – BioSP