gui的一些问题
matlab吧
全部回复
仅看楼主
level 7
设计了一个gui,在“确定”那个键位处下方加了以下程序
Ao=get(handles.edit1,'String');
Ai=get(handles.edit2,'String');
A=get(handles.edit3,'String');
ro=get(handles.edit4,'String');
ri=get(handles.edit10,'String');
rs=get(handles.edit5,'String');
D=get(handles.edit6,'String');
d=get(handles.edit7,'String');
[b,c]=maxtpower(Ao,Ai,A,ro,ri,rs,D,d);
set(handles.edit8,'String',b);
set(handles.edit9,'String',c);
结果运行时无法输出
其中的maxtpower函数应该是对的,直接用matlab中使用为
Ao=0.0103;
Ai=0.006207;
A=0.004054;
ro=10.4;
rs=79.28;
ri=17;
D=1500;
d=0.1;
>> [b,c]=maxtpower(Ao,Ai,A,ro,ri,rs,D,d)
b =
653502.07436323859935999227993773
c =
2649.2974094685694854625357251297
请问这是什么问题,我的gui是通过程序运行出来的,不是直接从work里的fig打开的,所以应该是别的问题。
求大神指教啊
2016年05月08日 11点05分 1
level 7
顺便给出maxtpower吧
function [b,c]=maxtpower(Ao,Ai,A,ro,ri,rs,D,d)
syms x
t2=-D*(Ao*ro-Ai*ri)/A+4*D*Ao*Ai*(ro-ri)/(pi*d^2*A);
t3=-D*(Ao*ro-Ai*ri)/A-4*D*Ao*Ai*(ro-ri)/(pi*d^2*A);
y=(x-t2)^2+(t2-t3)^2+(x-t3)^2-2*655000^2;
a=solve(y,'x');
b=vpa(a(1));
c=b*0.004054;
我在想是不是字符串转换的问题,于是把原来的程序变成了
Ao=str2num(get(handles.edit1,'String'));
Ai=str2num(get(handles.edit2,'String'));
A=str2num(get(handles.edit3,'String'));
ro=str2num(get(handles.edit4,'String'));
ri=str2num(get(handles.edit10,'String'));
rs=str2num(get(handles.edit5,'String'));
D=str2num(get(handles.edit6,'String'));
d=str2num(get(handles.edit7,'String'));
[b,c]=maxtpower(Ao,Ai,A,ro,ri,rs,D,d);
b1=num2str(b);
c1=num2str(c);
set(handles.edit8,'String',b1);
set(handles.edit9,'String',c1);
可是还是不行,希望能得到解答~
2016年05月08日 11点05分 2
1