function teste = uicontrol('Style','Edit','Units','Normalized','Position',[.4 .5 .2 .1]);uicontrol('Style','text','Units','Normalized',... 'Position',[.2 .45 .2 .1],'String','Number of laminas');uicontrol('Style','PushButton','Units','Normalized',... 'Position',[.4 .3 .2 .1],'String','Create','Callback',@b_clbck); function b_clbck(hObject, eventdata, handles) n = str2double(get(e,'String')); create_figure(n) end function create_figure(n) figure('Units','Normalize','Name','Mechanical Properties') for k=1:n uicontrol('Style','Edit','Units','Normalized',... 'Position',[.1 k/n-.75/n .1 .75/n],'String',sprintf('Lamina %#d',k)); uicontrol('Style','popupmenu','String',{'Graphite','Boron'},'Units','Normalized',... 'Position',[.25 k/n-.75/n .1 .75/n],'Callback',@c_clbck); uicontrol('Style','Edit','Units','Normalized',... 'Position',[.38 k/n-.75/n .08 .75/n],'Callback',@d_clbck); uicontrol('Style','text','Units','Normalized',... 'Position',[.35 (k/n)-.75/n .03 .75/n],'String','Qx='); uicontrol('Style','pushbutton','Units','Normalized',... 'Position',[1 k/n-.75/n .08 .75/n],'Callback',@e_clbck); end function c_clbck(hObject, eventdata, handles)%popupmenu
idx=get(handles.c,'Value'); switch idx case 1 S.Ex=7; S.Ey=20; case 2 S.Ex=5; S.Ey=30; otherwise end set(handles.c, 'UserData', S); end function d_clbck(hObject, eventdata, handles)%Qx
end function e_clbck(hObject, eventdata, handles)%pushbutton
S = get(handles.c, 'UserData') Ex=S.Ex; Ey=S.Ey; Qx=Ey/Ex; set(handles.d,'string',Qx) end endend
MATLAB: I wrote a code which is a pattern of popupmenu and edit and static Iu control but it does not work, would you help me
popupmenu
Best Answer