Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2013-08-31
帖子: 2
声望力: 0 ![]() |
![]()
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); |
![]() |
![]() |