簡體   English   中英

如何在MATLAB中的另一個回調函數中加載變量?

[英]How can I reach a variable loaded in another callback function in 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到達它。 我如何到達?

我看不到net0的聲明位置。 如果要在不同功能之間共享它們,則應使用全局變量

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM