happy教授[求助]一个简单的GUI编程!!
已建立一个GUI 有一个axes1,一个slider1,外加一个pushbutton1实现目标:由滑动slider1得到的数据传给按下pushbutton1以后调用的函数,该函数的输出图像显示在axes1中!!
调用程序,和gui的.fig和.m文件在上传得文件中
新手!!对于各位高手应该不会太难,望助!! <P>我也是刚认识GUI 不过觉得这个问题,太简单了,随便找本书上都有这样的列子.真的~~</P> <P>之前都没有接触过,很混沌,不知从何开始!书看了,但是实现起来老是报错!!<BR>是不是版本问题??</P>
回复:(lana2000)happy教授[求助]一个简单的GUI编程...
slider1返回的是什么数据?设置好回调函数应该就行了[此贴子已经被作者于2006-4-17 22:08:56编辑过]
<FONT color=#f460f4 size=4>slider1的数据范围5-95之间的一个整数,返回的数据用于决定下面蓝色标出的数(在diaoyonghanshu.m中)<BR></FONT>f=xlsread('r1.xls'); %读取Excel文件<BR>f1=zeros(200,3);<BR>k=1;<BR>for i=<FONT color=#2b2bd5 size=5>25</FONT>:100:20000 %提取单层数据<BR> f1(k,:)=f(i,:);<BR> k=k+1;<BR>end<BR>z=ones(94,1);<BR>f2=zeros(94,3); <BR>f2(1,3)=11;<BR>f2(2:94,3)=f1(1,3);<BR>f2(2:94,1)=f1(1,1);<BR>for i=2:94<BR> f2(i,2)=(i-2)*pi/180;<BR>end<BR>.....<BR><FONT color=#f394f3 size=4>拜托happy!!</FONT> <P><FONT color=#f680f6 size=4>我先用一个小例子试了一下,画图的,就一个axse1,和一个pushbutton1</FONT><br><FONT color=#5050f3>系统.m自有:<br></FONT><FONT color=#000000>function varargout = gui(varargin)</FONT><br>gui_Singleton = 1;<br>gui_State = struct('gui_Name', mfilename, ...<br> 'gui_Singleton',gui_Singleton, ...<br> 'gui_OpeningFcn', @gui_OpeningFcn, ...<br> 'gui_OutputFcn',@gui_OutputFcn, ...<br> 'gui_LayoutFcn',[] , ...<br> 'gui_Callback', []);<br>if nargin & isstr(varargin{1})<br> gui_State.gui_Callback = str2func(varargin{1});<br>end</P>
<P>if nargout<br> = gui_mainfcn(gui_State, varargin{:});<br>else<br> gui_mainfcn(gui_State, varargin{:});<br>end<br><FONT color=#856ce8 size=5>下面是我写的callback函数:<br></FONT>function pushbutton1_Callback(hObject, eventdata, handles)<br>t=1:0.1:pi;<br>y=sin(t);<br>H=plot(t,y,'parent','axse1');<br><FONT size=4><FONT color=#47db47>有错吗??<br>抱错:</FONT><br></FONT>??? Error using ==> plot<br><FONT color=#c01d5e>Value must be a handle. %什么意思?? plot不是返回一个handle的吗?</FONT></P>
<P>Error in ==> F:\monot carlo\monte carlo\my\gui\gui.m (pushbutton1_Callback)<br>On line 84==> H=plot(t,y,'parent','h');<br></P>
<P><FONT color=#e82975>%下面又是什么意思??</FONT><br>Error in ==> C:\MATLAB6p5p1\toolbox\matlab\uitools\gui_mainfcn.m<br>On line 66==> feval(varargin{:});</P>
<P>Error in ==> F:\monot carlo\monte carlo\my\gui\gui.m<br>On line 42==> gui_mainfcn(gui_State, varargin{:});</P>
<P><FONT size=3>??? Error while evaluating uicontrol Callback.<br></FONT><FONT face=幼圆 color=#7070f5 size=5>能否解释一下!!?</FONT></P>
[此贴子已经被作者于2006-4-19 15:01:08编辑过]
<P>帮帮忙啊!!</P>
新问题!!
<P>为什么在.m文件里可以运行的一个程序,在gui的pushbutton空件的callback函数一运就会死机??<BR>F=zeros(2,200,100);<BR>for j=1:100<BR> for i=1:200<BR> F(1,i,j)=f((i-1)*100+j,3);<BR> F(2,i,j)=f((i-1)*100+j,3);<BR> end<BR>end</P><P>%生成与矩阵F匹配的矩阵X,Y,Z<BR>x=0:0.005:0.995;<BR>y=0:1;<BR>z=0:0.02:1.98;<BR>=meshgrid(x,y,z);<BR><BR><FONT color=#3939d8>h=slice(X,Y,Z,F,1,0,0); %slice为切片函数</FONT><BR>hold on<BR></P>
回复:(lana2000)新问题!!
<DIV class=quote><B>以下是引用<I>lana2000</I>在2006-4-21 15:00:30的发言:</B><br><P>为什么在.m文件里可以运行的一个程序,在gui的pushbutton空件的callback函数一运就会死机??<br>F=zeros(2,200,100);<br>for j=1:100<br> for i=1:200<br> F(1,i,j)=f((i-1)*100+j,3);<br> F(2,i,j)=f((i-1)*100+j,3);<br> end<br>end</P>
<P>%生成与矩阵F匹配的矩阵X,Y,Z<br>x=0:0.005:0.995;<br>y=0:1;<br>z=0:0.02:1.98;<br>=meshgrid(x,y,z);<br><br><FONT color=#3939d8>h=slice(X,Y,Z,F,1,0,0); %slice为切片函数</FONT><br>hold on<br></P></DIV>
<P>死机?应该不会啊,没见过这样的问题,你这里的f又是什么东西?</P>
[此贴子已经被作者于2006-4-22 21:37:48编辑过]
回复:(lana2000)happy教授[求助]一个简单的GUI编程...
你给的都是什么东西啊?好乱,能不能整理一下给个完整的? 没那么复杂吧 <P>我遇到类似的问题,望高人指教啊。</P>
页:
[1]