How to set output in Static text box in MATLAB GUI for a calculation in pushbutton

1 vue (au cours des 30 derniers jours)
Das Bably
Das Bably le 22 Fév 2013
Hi, I am trying to code in MATLAB GUI push button for calculation, that calculation I firstly coded in Script file and is ok, but in GUI pushbutton i am facinng some problem, I would like to show the code that I am using in pushbutton callback only and i do not code in any other callback function
global D1 D2 dh t V1 V2 rowNo LL L
D1=str2num(get(handles.D1,'String'));
D2=str2num(get(handles.D2,'String'));
dh=str2num(get(handles.dh,'String'));
t=str2num(get(handles.t,'String'));
V1=str2num(get(handles.V1,'String'));
V2=str2num(get(handles.V2,'String'));
rowNo=str2num(get(handles.rowNo,'String'));
LL=str2num(get(handles.LL,'String'));
L=str2num(get(handles.L,'String'));
s1=pi*D1^2/4;
s2=pi*D2^2/4;
Sb=pi*dh^2/4;
press=101325;
q=1.293;
c=340;
S=(2*pi*D1/2)*LL;
M10=V1/c;
M11=M10*s1/(rowNo*Sb+s1);
M20=V2/c;
M21=M20*s2/(rowNo*Sb+s2);
Nextspeed=[M11*340;M21*340];
Mb=(M21-M20)*(s2/Sb);
Ub=press/(q*c);
Ubspeed=Mb*c+Ub/Sb;
Hrate=rowNo*Sb/S;
R=(7.337*(1+72.23*Mb)*10^-3)/Hrate;
X=(2.2245*(1+51*t)*(1+204*dh)*10^-5)/Hrate;
Z1=q*c/s1;
Z2=q*c/s2;
Zb=q*c/Sb;
Z=q*c*(R+1*i*X)/Sb;
A=Z^-1 ;
G=zeros(4,4);
H=zeros(4,4);
B1=M11*Z1^-1;
B2=M11*Z1^-1;
B3=M10*Z1;
B4=M10*Z1^-1;
B5=A*(1-(M10-M11)^2*Zb^2*Z1^-2);
C1=M21*Z2;
C2=M21*Z2^-1;
C3=M20*Z2;
C4=M20*Z2^-1;
E1=1-M10^2;
E2=1-M20^2;
G(1,1)=(1-B3*(B4+B5))/E1;
G(1,2)=(B1-B3*(1+B1*(B4+B5-B2)))/E1;
G(1,3)=B3*B5/E1;
G(1,4)=B3*C1*B5/E1;
G(2,1)=B5/E1;
G(2,2)=(1+B1*(B5-B2))/E1;
G(2,3)=-B5/E1;
G(2,4)=-C1*B5/E1;
G(3,1)=C3*B5/E2;
G(3,2)=B1*C3*B5/E2;
G(3,3)=(1-C3*(C4+B5))/E2;
G(3,4)=(C1-C3*(1+C1*(C2+B5-C4)))/E2;
G(4,1)=-B5/E2;
G(4,2)=-B1*B5/E2;
G(4,3)=B5/E2;
G(4,4)=(1+C1*(B5-C2))/E2;
frequency=0:6:6486;
K=2*pi*frequency/340;
a1=K*L*E1^-1;
a2=K*L*E2^-1;
F1=cos(M10*a1)-1*i*sin(M10*a1);
F2=cos(M20*a2)-1*i*sin(M20*a2);
Htotal=zeros(4,4328);
Gtotal=zeros(4,4328);
Htotal=[];
Gtotal=[];
n=1;
for j=1:1:1082
H(1,1)=F1(n)*cos(a1(n));
H(1,2)=1*i*F1(n)*Z1*sin(a1(n));
H(1,3)=0;
H(1,4)=0;
H(2,1)=1*i*F1(n)*Z1^-1*sin(a1(n));
H(2,2)=F1(n)*cos(a1(n));
H(2,3)=0;
H(2,4)=0;
H(3,1)=0;
H(3,2)=0;
H(3,3)=F2(n)*cos(a2(n));
H(3,4)=1*i*F2(n)*Z2*sin(a2(n)^2);
H(4,1)=0;
H(4,2)=0;
H(4,3)=1*i*F2(n)*Z2^-1*sin(a2(n)^2);
H(4,4)=F2(n)*cos(a2(n));
Htotal(:,4*n-3:4*n)=H;
Gtotal(:,4*n-3:4*n)=G;
n=n+1;
end
guidata(hObject, handles);
set(handles.Result,'String',num2str(Htotal));
set(handles.G,'String',num2str(Gtotal));
but output is not same as Script file moreover in a complex matrix form. So please can anybody help me how can I solve this problem? Thanks if I want to create callback so where should I code? is it in opening function?

Réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by