遇到的一点问题,期待高手解决
最近解一个耦合方程,做一个简单的界面,但是在最后一步出现了一点计算结果显示方面的问题,在论坛里搜索了一下相关的东西,没找到解决途径。以下是程序部分:
H=axes('unit','normalized','position',,'visible','off');
h_fig=get(H,'parent');
h_text1=uicontrol(h_fig,'style','text',...
'unit','normalized','position',,...
'horizontal','left','string',{'Fiber Length(Km)'},...
'background','w',...
'fontsize',10);
h_edit1=uicontrol(h_fig,'style','edit',...
'unit','normalized','position',,...
'background','w',...
'callback',[...
'Length=str2num(get(gcbo,''string''));']);
h_text2=uicontrol(h_fig,'style','text',...
'unit','normalized','position',,...
'horizontal','left','string',{'Pump in(mW)'},...
'background','w',...
'fontsize',10);
h_edit2=uicontrol(h_fig,'style','edit',...
'unit','normalized','position',,...
'background','w',...
'callback',[...
'Pump=str2num(get(gcbo,''string''));']);
h_text3=uicontrol(h_fig,'style','text',...
'unit','normalized','position',,...
'horizontal','left','string',{'Signal in(mW)'},...
'background','w',...
'fontsize',10);
h_edit3=uicontrol(h_fig,'style','edit',...
'unit','normalized','position',,...
'background','w',...
'callback',[...
'Signal=str2num(get(gcbo,''string''));',...
'options = odeset(''RelTol'',1e-4,''AbsTol'',);',...
' = ode45(@rigid,,,options);',...
'z=0:Length;',...
'x=Signal*exp(-0.19*z''/4.343);',...
'Gain=10*log10(Y(Length+1,2)/x(Length+1))']);
h_edit4=uicontrol(h_fig,'style','edit',...
'unit','normalized','position',,...
'background','w');
calculate=['Gain=10*log10(Y(Length+1,2)/x(Length+1));'];
h_button=uicontrol(h_fig,'style','push',...
'unit','normalized','position',,...
'background','w',...
'string','calculate');
set(h_edit4,num2str(Gain))
界面如附件所示。
要实现的功能:在前三个edit只能过输入数据后,点击“calculate”后,要在edit4中显示对应的计算结果。
出现的问题是:
运行程序后可以显示结果,但是显示的是前一组数据的,当我改变输入的数据后,可以在命令窗中显示结果,但是在界面上的edit4中无法更新。
期待高手赐教,谢谢。
[ 本帖最后由 向北飞 于 2009-4-19 17:20 编辑 ] 要把数据传递给对应的edit 这个……怎么传递啊,使用set吗? 是的 。 set(h_edit4,num2str(Gain))
这个好象不对 set(h_edit4,'string,'num2str(Gain))再看看 用GUIDE写吧。你还没到用m语言写GUI的水平。看你写的程序乱的很,而且这些写法连debug都不好弄。如果你一定要用m语言写,就把每个callback的命令放到独立的函数文件里。然后再看看不同函数间怎么参数传递。 非常谢谢大家,听取ydlcsu及生活中一些朋友的意见开始研究guide
页:
[1]