快乐毁灭者
2013-08-31, 12:25
GUI中输入几个变量的值,然后通过一个方程组计算出想要的结果,再显示在界面中的程序。
调试了好久也不行,麻烦高手帮忙看一下,感激不尽!(解方程组部分在matlab命令窗口中运行可以算出结果,就是放在callback函数中出问题)
程序如下:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
A=get(handles.edit1,'String');%压下量
B=get(handles.edit2,'String');%初始曲率
C=get(handles.edit3,'String');%厚度
D=get(handles.edit4,'String');%屈服极限
E=get(handles.edit5,'String');%初始张应力
F=get(handles.edit6,'String');%硬化系数
G=get(handles.edit7,'String');%板宽
a=str2num(A);
b=str2num(B);
c=str2num(C);
d=str2num(D);
e=str2num(E);
f=str2num(F);
g=str2num(G);
x=2*(asin((240+c)/((255^2+(240-a)^2)^(1/2)))-atan((240-a)/255));%包角
y=(120+c*((531.2*d*x^(-0.28))/(2*d+e)-243.2))^(-1);%强制弯曲曲率
w=b+y;%总弯曲曲率
%p展平力 m弯矩 t张力 q横向力 h中间层偏移量 l力臂 z弹性区高度
%解方程组
eq1=sym('0.2*p-p*l');
eq2=sym('120*q-p*(l+0.3125)');
eq3=sym('t*g*c-q-e*g*c');
eq4=sym('t*c-h*d*(2*(1-f)+f*c/z)');
eq5=sym('z*w*69000-d');
eq6=sym('m-d*g*((1-f)*(c^2/4-z^2/3-h^2)+f*c^3/(1*z^2))');
eq7=sym('p*255-m-(e*g*c+q)*a');
[h,l,m,p1,q,t,z]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7);
P=num2str(p);
set(handles.text19,'String',p);
guidata(hObject,handles);
调试了好久也不行,麻烦高手帮忙看一下,感激不尽!(解方程组部分在matlab命令窗口中运行可以算出结果,就是放在callback函数中出问题)
程序如下:
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
A=get(handles.edit1,'String');%压下量
B=get(handles.edit2,'String');%初始曲率
C=get(handles.edit3,'String');%厚度
D=get(handles.edit4,'String');%屈服极限
E=get(handles.edit5,'String');%初始张应力
F=get(handles.edit6,'String');%硬化系数
G=get(handles.edit7,'String');%板宽
a=str2num(A);
b=str2num(B);
c=str2num(C);
d=str2num(D);
e=str2num(E);
f=str2num(F);
g=str2num(G);
x=2*(asin((240+c)/((255^2+(240-a)^2)^(1/2)))-atan((240-a)/255));%包角
y=(120+c*((531.2*d*x^(-0.28))/(2*d+e)-243.2))^(-1);%强制弯曲曲率
w=b+y;%总弯曲曲率
%p展平力 m弯矩 t张力 q横向力 h中间层偏移量 l力臂 z弹性区高度
%解方程组
eq1=sym('0.2*p-p*l');
eq2=sym('120*q-p*(l+0.3125)');
eq3=sym('t*g*c-q-e*g*c');
eq4=sym('t*c-h*d*(2*(1-f)+f*c/z)');
eq5=sym('z*w*69000-d');
eq6=sym('m-d*g*((1-f)*(c^2/4-z^2/3-h^2)+f*c^3/(1*z^2))');
eq7=sym('p*255-m-(e*g*c+q)*a');
[h,l,m,p1,q,t,z]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7);
P=num2str(p);
set(handles.text19,'String',p);
guidata(hObject,handles);