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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
最近做了一个gui界面,本意是想点击按钮后在可编辑文本框中显示数字,结果运行gui点击这个按钮后,弹出了一个新的一模一样的gui界面,在这个界面的可编辑文本框中显示了数字,实在是搞不懂为什么点击按钮后会生成一个新的gui界面5 m$ F3 m# m. \  R& L) v7 P4 ^

该用户从未签到

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

该用户从未签到

3#
 楼主| 发表于 2020-7-23 16:29 | 只看该作者
这是按钮的回调函数,KNN是其中调用到的一个函数, t) ~8 V1 }% G* D3 C! }0 T: l
function train_Callback(hObject, eventdata, handles)
0 L1 L2 P5 R9 ]global fea
9 n  m9 I9 j- Q& e9 o6 Jglobal classifier
. \8 L1 ^1 v$ H# uglobal rnum. q- h5 q" R, Y4 B4 S

5 e- e9 p" B9 o" |! l    load('feature.mat');! G1 f; z6 k' z; n" ~# C
    load('label1');/ o4 ~) P: P) ]2 o) W4 K
    if fea==[0 0 0 0 0]
# S# m, g4 Y0 P3 ?* O        errordlg('Error!Please choose features','Error');+ p, Q& U* F* e  Q$ O
    elseif fea==[1 0 0 0 0]
: y8 V3 E" `( |8 P% I7 V, {8 u, m        feature=[ampmat];
; U* F# ^, C* ?  j2 Z  E. k6 i    elseif fea==[0 1 0 0 0]
' G- R+ K" G& a5 q* a) r6 s1 |2 {/ f        feature=[energymat];
: {- p% c0 I8 V. e3 u& b0 ^    elseif fea==[0 0 1 0 0]
. K" E' M' i" ~) C* H        feature=[entropymat];
# y' m5 ^8 z& z4 X* Y    elseif fea==[0 0 0 1 0]( p* [  ?; f6 _8 A0 Z" _8 y) e
        feature=[fremat];8 Y9 u1 k/ y& L' b  v' Z
    elseif fea==[0 0 0 0 1]
& g9 l# L* c/ B' l        feature=[mfccmat];( b' A0 _# O- @! Y# p+ k
    elseif fea==[1 1 0 0 0]
% ~; K8 a: Z7 A: W/ B        feature=[ampmat,energymat];/ X+ @" K& F5 \9 S8 |" W- M: B7 q. T
    elseif fea==[1 0 1 0 0]
$ W& C+ o. i0 N0 z        feature=[ampmat,entropymat];2 B# z$ z% _' f1 `* Z4 i
    elseif fea==[1 0 0 1 0]
. w6 w# s. ^4 s( I$ a        feature=[ampmat,fremat];. ^+ i8 _! G0 v
    elseif fea==[1 0 0 0 1]; S7 T& w3 r9 C; V) H; A
        feature=[ampmat,mfccmat];1 o( {! `8 l1 p
    elseif fea==[0 1 1 0 0]
6 N* N" O4 W/ D" U( g2 J) {        feature=[energymat,entropymat];
1 d7 J/ A; Y' o$ l! Z* c" Z5 _5 r    elseif fea==[0 1 0 1 0]
4 W0 x5 b  \& P        feature=[energymat,fremat];8 o  G) [1 m" |" k% S% H
    elseif fea==[0 1 0 0 1]
* @1 ~8 i9 i6 y; l2 D" u        feature=[energymat,mfccmat];
# A) y3 y+ Q6 Y9 p8 m2 ~* f- D* T    elseif fea==[0 0 1 1 0]
4 M, r4 `- A9 u; V3 g1 c! ^        feature=[entropymat,fremat];& z' [5 t) `8 f% {/ c5 q1 E& w
    elseif fea==[0 0 1 0 1]
# J6 r! V+ C' v- W4 V        feature=[entropymat,mfccmat];
- S! T7 `: \# O6 ?0 r    elseif fea==[0 0 0 1 1]
: h! j7 Q3 }: l! a$ v        feature=[fremat,mfccmat];
  r' [1 c4 V8 c; ]0 b) P    elseif fea==[1 1 1 0 0]
9 }1 A$ B) b4 S4 S+ p4 I4 @" ^        feature=[ampmat,energymat,entropymat];
0 B& k$ b- j( T: r2 X4 a    elseif fea==[1 1 0 1 0]/ q9 w/ z4 b& ]0 L$ w: e/ S! w
        feature=[ampmat,energymat,fremat];
! \$ ?2 m  H! D. ]7 [    elseif fea==[1 1 0 0 1]
3 j, g% _8 x3 I7 g( X! X        feature=[ampmat,energymat,mfccmat];
0 Y7 f$ L. x! G+ K7 ~6 |' y7 d0 u    elseif fea==[1 0 1 1 0]
% c: D! p: m0 E- j2 e, ?) V        feature=[ampmat,entropymat,fremat];3 J( ?9 }- {6 `/ E" g1 a7 c
    elseif fea==[1 0 1 0 1]; m% E1 i! n; s1 _
        feature=[ampmat,entropymat,mfccmat];3 y0 o- L& t1 v, [* L4 {
    elseif fea==[1 0 0 1 1]
  W" C/ N0 b; b$ m7 G9 F7 J8 e6 t4 l        feature=[ampmat,fremat,mfccmat];
, @% t, s% U, p$ |    elseif fea==[0 1 1 1 0]+ ?2 S# D8 I3 [
        feature=[energymat,entropymat,fremat];, |4 a5 O3 z4 n! p' L9 Z1 B
    elseif fea==[0 1 1 0 1]
  ?2 ?  e' z, F2 e/ _$ ~# B5 m3 m        feature=[energymat,entropymat,mfccmat];
. ?% V: T" d  M. t1 t) H, X* d    elseif fea==[0 1 0 1 1]
5 \" V: N1 J% }6 |3 J        feature=[energymat,fremat,mfccmat];
  |6 [% e$ N4 r$ a6 h1 W% B    elseif fea==[0 0 1 1 1]1 o- n& N* S$ h$ c2 o, {% Z5 h
        feature=[entropymat,fremat,mfccmat];$ f6 ?" b/ U1 l, E1 L" p
    elseif fea==[1 1 1 1 0]
* G4 T9 l5 J7 e' \$ B1 H, N        feature=[ampmat,energymat,entropymat,fremat];4 ]/ N( V# {3 B  @' i) Q4 a
    elseif fea==[1 1 1 0 1]
' C4 m$ y. z6 j        feature=[ampmat,energymat,entropymat,mfccmat];/ g1 r, J% j+ U3 ]# u
    elseif fea==[1 1 0 1 1]
" A5 k. c, r( @# {0 f% c        feature=[ampmat,energymat,fremat,mfccmat];" j( y: \! ]2 e/ v$ v! U7 G& m7 H
    elseif fea==[1 0 1 1 1]
) g9 j3 l2 W: e" `, o* [        feature=[ampmat,entropymat,fremat,mfccmat];$ f; o' s, v1 j3 N0 O- r3 L
    elseif fea==[0 1 1 1 1]
: s  ^+ C  G$ g5 T$ b* i! y* z        feature=[energymat,entropymat,fremat,mfccmat];' p4 }2 L+ P+ m
    elseif fea==[1 1 1 1 1]
, M- o/ d) `4 ~/ Z% @+ b2 X& O        feature=[ampmat,energymat,entropymat,fremat,mfccmat];
% E4 G. G; x' d0 T3 H    else
3 h5 a5 L$ v5 C4 W6 P        errordlg('Error!Please choose features','Error');# D5 a6 i6 n) ?; i4 m1 e6 l
    end' a" N+ }2 Q, f( m
        
3 k! P5 C& F! _" a    / C9 |$ H1 q8 J9 H, ~: Q) i7 G) ]
    r=randperm(600);
0 W6 G8 M; U3 U( z    X0=feature(r,;% M/ v- k0 M1 ?: G* x
    Xtrain=X0(1:420,;
- @! }: ~7 ^' Q9 a4 c    Xtest=X0(421:600,;$ d  g* N) A( V
    label0=label1(r,:);( L1 r3 v( J0 Q: E3 \6 I% G
    labeltrain=label0(1:420,:);' R( Z) q! _/ j9 t
    labeltest=label0(421:600,:);( Y& D9 S/ g  n) U+ ~  a& V
    TResult=KNN(Xtrain,Xtest,labeltrain); 5 U+ c  |* X/ i* _9 c$ h2 |
    rnum=0;6 x: f) p8 s6 J5 }* g4 ~7 g; V
    for i=1:180+ W" K# e# F6 I' G5 K$ E' M
        if TResult(i)==labeltest(i)" m% T% X/ d8 F" k+ D9 G
            rnum=rnum+1;1 Z0 M6 F* j! g" T  h
        end" {1 V7 |$ r* q# j) G6 A( O
    end
! }% x; ^' [$ `5 F7 j; y, f5 X. w   9 J/ R5 M$ S) ^7 M7 E
    set(handles.edit1,'String','loading completed');
2 d+ _% G5 H4 u- n6 w    set(handles.edit2,'String',num2str(rnum/180));
4 K$ i% p8 Q6 d! b! u# A: K; j% R9 c; z$ ?% m4 V& V
function result=KNN(train,test,trainlabel)
6 D; x! G1 g& w' ok=2;
- T3 [( g; f' i2 F1 M/ Qtestlength=length(test(:,1));
. I5 D# B9 _. \trainlength=length(train(:,1));% I' ]' U3 l) Z$ ?" f+ V
for i=1:testlength: G" A; x; P1 P: F6 p/ n+ P
    dist=zeros(trainlength,1);
9 T0 ^: D3 J4 Y3 |) F6 l3 u& E    for j=1:trainlength
5 }: R" L" \* u/ |- A; G$ h        dist(j)=distance(test(i,:),train(j,:),1);
* s' a8 U) U/ j, @- C    end
7 r* {. V- Q7 A  R- T5 N    [Y,I]=sort(dist,1);
! l9 ^& ]0 p8 l( p  k- B2 F    k=min(k,length(Y));1 S7 `  y8 W. I% k
    labels=trainlabel(I);/ m2 y* G7 k+ h0 e) a3 ~
    result(i)=mode(labels(1:k));; t# \" C1 I: T7 F5 U
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 15:22 , Processed in 0.171875 second(s), 23 queries , Gzip On.

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

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

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