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
end
2 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* {% g
function result=KNN(train,test,trainlabel)
# c/ G& F" L" y Q* w
k=2;
2 L3 Q6 _$ j# X4 q5 R8 d
testlength=length(test(:,1));
9 Q! V( }; y' h& {# _# d+ s* W
trainlength=length(train(:,1));
* u0 N+ }- X0 M0 X) Y! o) N
for i=1:testlength
, J d% q0 W8 Z* H
dist=zeros(trainlength,1);
1 M9 ?) s: [4 H1 `8 N( n
for j=1:trainlength
5 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