找回密码
 注册
关于网站域名变更的通知
查看: 403|回复: 2
打印 上一主题 下一主题

咨询一下MatlabGUI按钮的问题?请大神帮忙啊

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-7-23 15:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近做了一个gui界面,本意是想点击按钮后在可编辑文本框中显示数字,结果运行gui点击这个按钮后,弹出了一个新的一模一样的gui界面,在这个界面的可编辑文本框中显示了数字,实在是搞不懂为什么点击按钮后会生成一个新的gui界面- M4 [$ |$ t) I( @3 C" [7 N

该用户从未签到

2#
发表于 2020-7-23 16:14 | 只看该作者
没搞过这个

该用户从未签到

3#
 楼主| 发表于 2020-7-23 16:29 | 只看该作者
这是按钮的回调函数,KNN是其中调用到的一个函数
: X+ R; E" u! I1 f3 \function train_Callback(hObject, eventdata, handles)9 d$ ~( q% o$ R; e- P0 _& {
global fea
! T1 d0 ]5 e: q2 e8 d4 ?global classifier, n$ f$ j4 k8 b7 o8 H4 A$ j" t" L5 m
global rnum
! X8 T5 g  J; R3 N2 O6 j9 K8 _" |
    load('feature.mat');- Z" o+ w! U& D6 q5 `& ]) T, t
    load('label1');+ x9 l9 c' H+ c: H. ^
    if fea==[0 0 0 0 0]
- Y" V* D& q% B% D6 x5 ~1 [        errordlg('Error!Please choose features','Error');
4 W& _% S. j% w7 p9 j; b    elseif fea==[1 0 0 0 0]
6 Q+ j& Z3 j7 R6 [! j' |- F9 F        feature=[ampmat];* C' e/ S5 P* Y# c5 u
    elseif fea==[0 1 0 0 0]
# Y, j5 h4 K9 Y2 U: p* m5 b' b        feature=[energymat];
2 l( ~9 [) o0 ~( y" x4 m    elseif fea==[0 0 1 0 0]  k( v  a0 K. p/ l+ Z, I% x  J2 @2 h2 b+ \
        feature=[entropymat];8 z2 X% a  J% x
    elseif fea==[0 0 0 1 0]
" e5 B( y4 y1 |. Y* d6 R3 c        feature=[fremat];
" h  d2 S% `" }" j1 B/ @    elseif fea==[0 0 0 0 1]2 c. c7 x$ O( p
        feature=[mfccmat];& Q5 V, }5 b! X2 u- R8 B, n
    elseif fea==[1 1 0 0 0]% F' J- @! h3 @6 U' c& {" T, O
        feature=[ampmat,energymat];" S) N0 O4 D% Q. Z5 T
    elseif fea==[1 0 1 0 0]) a1 P4 ~! [) {1 Y
        feature=[ampmat,entropymat];
0 [9 S/ l. y4 S* N9 `6 N& z    elseif fea==[1 0 0 1 0]
# T1 y' m2 Y9 w; t) E        feature=[ampmat,fremat];% b; y! d8 k0 x3 q/ }7 G7 B
    elseif fea==[1 0 0 0 1]6 w/ s' C0 b2 P: ^
        feature=[ampmat,mfccmat];
+ `) H( n! z9 v' ~    elseif fea==[0 1 1 0 0]: Q7 L) v! p1 ^( e: W/ `, ?! a) u, Y
        feature=[energymat,entropymat];% O" u. ~1 D% i9 ]2 @9 T. D1 p
    elseif fea==[0 1 0 1 0]
/ v4 J. L2 M% V- L        feature=[energymat,fremat];. c# W) P, E. \4 G
    elseif fea==[0 1 0 0 1]8 F6 V) g0 F7 P5 c. G6 ?2 v
        feature=[energymat,mfccmat];
4 Z) M) b% L! V  I0 R* L4 j! Y    elseif fea==[0 0 1 1 0]
1 m; Y6 U0 t% f  F) V7 L7 t$ M7 ~        feature=[entropymat,fremat];
8 L! t% ]3 |! O' j$ `7 ~, a    elseif fea==[0 0 1 0 1]
0 `) f" e6 ~# t8 _        feature=[entropymat,mfccmat];
, {; Z- C9 L2 B, E& B6 W+ n# [    elseif fea==[0 0 0 1 1]: O6 q6 m/ d! b. f" s; B+ Z4 M" v& K  J
        feature=[fremat,mfccmat];
2 ]+ T4 Q; _1 b  o& w2 M8 U* i    elseif fea==[1 1 1 0 0]# E& d+ c# f! q5 l
        feature=[ampmat,energymat,entropymat];! P3 q$ m7 q7 l
    elseif fea==[1 1 0 1 0]! x& R+ n( O4 n; w+ @: d
        feature=[ampmat,energymat,fremat];
5 R+ I8 R2 l9 i    elseif fea==[1 1 0 0 1]4 X% w0 G& ~7 @8 N8 b
        feature=[ampmat,energymat,mfccmat];9 j0 U. C- {( G& A: V$ X% h$ @
    elseif fea==[1 0 1 1 0]( C$ a% n7 ~. a. A
        feature=[ampmat,entropymat,fremat];6 v! y; ]2 ^# G3 c7 U
    elseif fea==[1 0 1 0 1]
0 ^  s2 o2 J  ^" Y. W/ L4 J        feature=[ampmat,entropymat,mfccmat];- L/ j( i# g0 t8 l3 F
    elseif fea==[1 0 0 1 1]5 |$ Y1 w; n5 L; F4 M$ s. u; s
        feature=[ampmat,fremat,mfccmat];
6 `! F2 d+ ^; Q3 G, k+ C. x9 g    elseif fea==[0 1 1 1 0]8 [9 f, P& A6 T1 w# T6 i- e. l7 X4 s
        feature=[energymat,entropymat,fremat];
& u, a8 `. Z6 K. _, H( `3 k! |    elseif fea==[0 1 1 0 1]
" U& b2 n+ a! [) v, ^/ H        feature=[energymat,entropymat,mfccmat];  G- Y, ^/ L: T% ?& t- w$ d
    elseif fea==[0 1 0 1 1]' S! Y9 v* m! O! }" m1 q
        feature=[energymat,fremat,mfccmat];
% v1 T5 }  a& `9 h% r    elseif fea==[0 0 1 1 1]- u0 T8 ^) r& D# X0 C$ Z
        feature=[entropymat,fremat,mfccmat];; c: G, G5 r8 A* G7 d
    elseif fea==[1 1 1 1 0]
% X, R$ N8 S, V9 ?9 o  d- B        feature=[ampmat,energymat,entropymat,fremat];0 m4 s+ X4 V! s" `1 [6 E5 k5 P& z2 h
    elseif fea==[1 1 1 0 1]
0 l( J9 g, ~% c. o4 u; n9 H1 h        feature=[ampmat,energymat,entropymat,mfccmat];# q, i# u) H3 G
    elseif fea==[1 1 0 1 1]1 N/ [; y- @1 T
        feature=[ampmat,energymat,fremat,mfccmat];5 F% ^* e& F6 L0 h8 p; z9 m1 H
    elseif fea==[1 0 1 1 1]
- |7 m  T# ?/ {3 [# u# A; Q        feature=[ampmat,entropymat,fremat,mfccmat];6 t/ C+ A4 ^. d- y5 Y
    elseif fea==[0 1 1 1 1]9 q# C0 p. l* F5 K, O2 p4 b
        feature=[energymat,entropymat,fremat,mfccmat];9 r3 a% k! \5 \
    elseif fea==[1 1 1 1 1]3 Y" b; i. B: c! P# Z* B
        feature=[ampmat,energymat,entropymat,fremat,mfccmat];
! w/ P  Z' V) J6 y    else
# o4 M: E, R% o" ]( h0 O4 w        errordlg('Error!Please choose features','Error');
8 W  f% s* Z, K+ @' Y  r    end7 _# U. p) @3 n
        
- W9 Q7 U% q, |2 z: s    2 l- G! E0 G! ]! g/ U" l
    r=randperm(600);
: o4 n# L: M( r: q# z/ E    X0=feature(r,;' K% r7 b6 ?: R' u( K) Y
    Xtrain=X0(1:420,;
: X; M& y4 G$ n5 o1 ^    Xtest=X0(421:600,;
- ?& Q3 H' L8 q8 r    label0=label1(r,:);
8 o5 v  L/ h3 f0 P2 A2 ~, `    labeltrain=label0(1:420,:);
* \' c* R) c  s% I) @3 ^- g    labeltest=label0(421:600,:);
: C4 u# A. G4 u% }    TResult=KNN(Xtrain,Xtest,labeltrain);
4 b0 J, }6 W, U. m* R    rnum=0;2 c4 Z6 `9 l/ m5 l) p7 p  |- K
    for i=1:180
. M; a/ s* |7 ?" N8 w0 S        if TResult(i)==labeltest(i)
9 V/ K" Q! V$ `! p            rnum=rnum+1;. C  u& z8 d/ w
        end
0 J7 y: Y' F3 A4 {    end
4 ?, B- E$ a9 C* S, M   7 x& y% D  m7 |3 j) @% I9 C5 J
    set(handles.edit1,'String','loading completed');
6 Q" F6 C0 Q  O0 g5 R$ a    set(handles.edit2,'String',num2str(rnum/180));3 R) ~5 c1 y2 o% ^4 X) l/ U0 \# v
* i" s6 s. R+ m4 d2 S$ L
function result=KNN(train,test,trainlabel)1 ~( d9 `, r0 k; b  J8 g* m
k=2;/ r* {1 W! ?- Z# ^6 `
testlength=length(test(:,1));
7 B6 h/ k0 ~/ Z, W, w  n. G0 z& P5 ktrainlength=length(train(:,1));/ i* U6 p; P( w. E
for i=1:testlength
! A% |. r) p3 u  }+ v    dist=zeros(trainlength,1);/ \, K0 A. C' h4 o+ `
    for j=1:trainlength* r' n0 c$ k% z% Q) C; i# s
        dist(j)=distance(test(i,:),train(j,:),1);
: @4 F; Q. _/ C' ]    end  l/ p4 m5 H+ Q- R0 f" Y
    [Y,I]=sort(dist,1);
9 y9 Z+ ]; r( v( k1 i& x    k=min(k,length(Y));' r+ Q7 z" p5 `& h0 N' d
    labels=trainlabel(I);' F; F, d5 w5 Z
    result(i)=mode(labels(1:k));
+ e9 Y4 P; {* L. @" P  J2 `5 gend
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-5 22:59 , Processed in 0.156250 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表