0

押しボタンでニューラル ネットワーク オブジェクト ファイルを読み込み、他の押しボタンのコールバック関数で使用したいと考えています。

私は 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。どうすれば到達できますか?

4

1 に答える 1

0

net0 が宣言されている場所がわかりません。異なる関数間で共有したい場合は、グローバル変数を使用する必要があります

于 2012-11-27T10:16:37.627 に答える