EDA365电子论坛网

标题: 咨询一下MatlabGUI按钮的问题?请大神帮忙啊 [打印本页]

作者: loveeatmore    时间: 2020-7-23 15:27
标题: 咨询一下MatlabGUI按钮的问题?请大神帮忙啊
最近做了一个gui界面,本意是想点击按钮后在可编辑文本框中显示数字,结果运行gui点击这个按钮后,弹出了一个新的一模一样的gui界面,在这个界面的可编辑文本框中显示了数字,实在是搞不懂为什么点击按钮后会生成一个新的gui界面5 c2 Y/ v' S* [; t

作者: youOK    时间: 2020-7-23 16:14
没搞过这个
作者: loveeatmore    时间: 2020-7-23 16:29
这是按钮的回调函数,KNN是其中调用到的一个函数3 m6 S/ q! v: E& \% i+ g
function train_Callback(hObject, eventdata, handles)- O3 _+ q6 C# z2 u
global fea$ h- x0 N, j& @7 D3 p; _/ G
global classifier, S1 H* z& Q$ g$ x- [/ v$ E5 {3 w1 J
global rnum* I$ A4 Q+ C% h8 r

1 u$ F( |2 ~. m* I* C, c* [7 H$ W    load('feature.mat');
! M# t+ ]9 A9 C$ K    load('label1');6 [- t7 E( q" Q+ U
    if fea==[0 0 0 0 0]$ {% H8 Y& X% i
        errordlg('Error!Please choose features','Error');) I+ Z: @5 a$ r) H  L, p
    elseif fea==[1 0 0 0 0]
; V0 T+ L' f8 w! ]% o8 w& L6 p        feature=[ampmat];( W+ o3 R  o, H3 B5 G" k1 M
    elseif fea==[0 1 0 0 0]3 |6 T. B; [; u8 N  H" l
        feature=[energymat];
# L. V3 R1 q0 @% g8 Y    elseif fea==[0 0 1 0 0]) y8 R- D% p3 h$ A  h2 L  Z( T
        feature=[entropymat];" \, v7 [( \& \4 Z
    elseif fea==[0 0 0 1 0], ?  g( V( G% I1 Q6 v
        feature=[fremat];* }, Q. x9 p+ z# I. z8 H$ E* {6 }
    elseif fea==[0 0 0 0 1], f# ~8 B6 ?* z0 _6 U- W$ M! v
        feature=[mfccmat];
5 m2 w% z7 V" q    elseif fea==[1 1 0 0 0]
7 J  K( ?  H0 S$ X3 t* Y        feature=[ampmat,energymat];. Y' [( f5 g$ T7 u- C( l
    elseif fea==[1 0 1 0 0]: D. W% l3 q. E* k
        feature=[ampmat,entropymat];' a& F( k; W3 D+ y: [! U
    elseif fea==[1 0 0 1 0]
: U. ?7 O9 q* b- V        feature=[ampmat,fremat];
' ?! l0 T1 x# r) X- F3 E    elseif fea==[1 0 0 0 1]% v- ]. t6 l. H
        feature=[ampmat,mfccmat];
' V3 v$ t! z" j    elseif fea==[0 1 1 0 0]5 E7 }0 i- B% O
        feature=[energymat,entropymat];
% l( I0 w" v- _/ ~  X6 j' S    elseif fea==[0 1 0 1 0]
2 L, G: }8 p" z        feature=[energymat,fremat];
0 ]0 m7 T0 H: f+ Y) N! V    elseif fea==[0 1 0 0 1]4 {' y; U$ j: W& j
        feature=[energymat,mfccmat];
( a; x3 f; k5 l* f& M    elseif fea==[0 0 1 1 0]
0 l4 J- ]+ v3 n* k5 e3 i) T: A        feature=[entropymat,fremat];
1 _0 s: |* X6 N& K    elseif fea==[0 0 1 0 1]' R; Q/ u9 l+ b. x+ j7 m4 f
        feature=[entropymat,mfccmat];
5 P$ j! w8 f( T" p" {0 [& c    elseif fea==[0 0 0 1 1]
2 E+ I7 b* H. _% v2 G, Y        feature=[fremat,mfccmat];
2 }" |( m6 z# ~, O, p: X    elseif fea==[1 1 1 0 0]
5 M$ m* q0 ?  d& J0 i# G, L& T7 {        feature=[ampmat,energymat,entropymat];
! t" s0 m" f% N3 I. M4 s    elseif fea==[1 1 0 1 0]6 }9 B( A& o- r# B
        feature=[ampmat,energymat,fremat];
9 c  L) g" M+ b' U( w    elseif fea==[1 1 0 0 1]
2 P4 n- [- y8 a! C! R* s. S' U        feature=[ampmat,energymat,mfccmat];
, w# n$ j. o( W% `) v3 U. i2 L) h    elseif fea==[1 0 1 1 0]1 h; j4 H1 ]/ p6 c0 a
        feature=[ampmat,entropymat,fremat];
  E$ c6 n/ c2 r) m9 y% W4 W    elseif fea==[1 0 1 0 1]
( L: u/ x3 P2 y6 t5 n& u0 q        feature=[ampmat,entropymat,mfccmat];
0 \4 J4 Q; u" K! s6 O/ @6 J8 L    elseif fea==[1 0 0 1 1]( A- k4 }# R6 t
        feature=[ampmat,fremat,mfccmat];
% I" x5 n  B% t# U" X/ @" E8 E    elseif fea==[0 1 1 1 0]
$ N$ R6 C; I& p7 L5 j        feature=[energymat,entropymat,fremat];& T! C3 z3 t' \; [+ c* K( y/ `
    elseif fea==[0 1 1 0 1]
9 f* ^/ a) U, P        feature=[energymat,entropymat,mfccmat];5 ?2 {8 m6 C, L: N
    elseif fea==[0 1 0 1 1]
) v* Y, x, ]$ T* U        feature=[energymat,fremat,mfccmat];
# G4 D/ k( r* Q% @    elseif fea==[0 0 1 1 1]
% y2 B$ W: v. H2 K        feature=[entropymat,fremat,mfccmat];9 l5 j$ H# j( ]8 V+ _+ k
    elseif fea==[1 1 1 1 0]
1 `& N# W+ F' r( F! [) D        feature=[ampmat,energymat,entropymat,fremat];, p/ L1 m# V- s: z) J( q3 a4 T
    elseif fea==[1 1 1 0 1]6 ?9 A- W7 G( ^6 V8 X0 A  d) Y
        feature=[ampmat,energymat,entropymat,mfccmat];
: B3 I( r4 J3 Y. g" ]% J    elseif fea==[1 1 0 1 1]& P7 _! _  o+ J
        feature=[ampmat,energymat,fremat,mfccmat];
7 R# c1 a# [3 e    elseif fea==[1 0 1 1 1]( c3 Y% N$ V' G4 r
        feature=[ampmat,entropymat,fremat,mfccmat];# i- g6 X3 s/ o5 A
    elseif fea==[0 1 1 1 1]9 P! E7 H/ j% S/ b' a
        feature=[energymat,entropymat,fremat,mfccmat];& z; T" p" r* G8 X/ L# \# F7 ?; ^( |
    elseif fea==[1 1 1 1 1]7 x+ r: z5 j' r$ W
        feature=[ampmat,energymat,entropymat,fremat,mfccmat];& V$ @  r! |$ Z/ J. u- g
    else
" U6 G) Z% w; Q* k, C9 h, l        errordlg('Error!Please choose features','Error');' J5 B4 v% M; }5 L1 O, a/ j
    end2 n/ l# `* W" S3 k: t' q9 {8 Q
        
( O+ z4 P8 L& ]  d   
2 q8 V- U1 A6 D- ^% n/ r    r=randperm(600);
/ [5 U/ @7 \1 C7 u$ }    X0=feature(r,;
- v) ?. S" m4 Y# k0 Y% t. m    Xtrain=X0(1:420,;: T; e1 |0 C: @4 |% F
    Xtest=X0(421:600,;
( W, a: H& s9 I+ q" J7 k' G    label0=label1(r,:);7 k: s+ i" W0 m$ F3 j& [4 m7 o
    labeltrain=label0(1:420,:);
6 N( G1 }' s7 Q* o% P    labeltest=label0(421:600,:);# V6 G/ i: Q* p) H7 O$ j7 G' P0 V
    TResult=KNN(Xtrain,Xtest,labeltrain); ( o1 Y7 _0 i% e) d% e3 B! W4 M
    rnum=0;
, ?$ ?7 F) A; L. U4 G    for i=1:180$ y/ _8 Y! l2 }5 V3 v
        if TResult(i)==labeltest(i)
. b& Q; _8 P. b7 D# a$ z" V0 y, p            rnum=rnum+1;
* z# [8 }7 q5 X) n4 i  R' ~4 L        end. p. R1 u/ R# x
    end
6 R! C: L3 G- X, P, q   
& E. t/ A8 S( k1 t( h& w    set(handles.edit1,'String','loading completed');$ y; Z$ ]) Y' m, Q
    set(handles.edit2,'String',num2str(rnum/180));! Y( f; K2 N$ S  K, k' n: G7 ]

5 e" m. u, M8 y; T- x* {% gfunction result=KNN(train,test,trainlabel)# c/ G& F" L" y  Q* w
k=2;
2 L3 Q6 _$ j# X4 q5 R8 dtestlength=length(test(:,1));9 Q! V( }; y' h& {# _# d+ s* W
trainlength=length(train(:,1));
* u0 N+ }- X0 M0 X) Y! o) Nfor i=1:testlength, J  d% q0 W8 Z* H
    dist=zeros(trainlength,1);1 M9 ?) s: [4 H1 `8 N( n
    for j=1:trainlength5 C1 \, ?1 l1 E# \8 @1 c
        dist(j)=distance(test(i,:),train(j,:),1);! k) t' C9 [- I2 V* i1 _
    end! {% h. m8 d6 R8 A) W0 w6 Q$ X! [
    [Y,I]=sort(dist,1);
0 Y3 w! R4 v6 G$ t9 B    k=min(k,length(Y));* K4 o* d: n1 d( ?+ \5 {9 R
    labels=trainlabel(I);- _: i( b& Y' r3 v! v
    result(i)=mode(labels(1:k));: Z& V" ?+ d& m+ n! x: U4 W
end




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2