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

1 view (last 30 days)
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?

Answers (0)

Categories

Find more on Interactive Control and Callbacks in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!