求助:如何获得已知曲线上的一系列点的坐标?
如题,我知道如何获得一个点的坐标,可以通过ginput函数得到,可是我想获得图像上一系列的点,并且是精确值,而不是通过鼠标确定的点,应该用什么函数获得呢?多谢各位指教,很着急![ 本帖最后由 xinyuxf 于 2007-7-22 21:41 编辑 ] <P>一系列有规律的点还是没有规律的呢?</P> 用鼠标的是gtext<BR>你是想通过鼠标放在哪,哪就显示坐标?<BR>还是说直接的大概多少距离显示一个坐标。<BR><BR> function hc <br>% made by genial in simwe<br>ezplot('sin(x)');<br>set(gcf,'pointer','cross');<br>set(gcf,'WindowButtonMotionFcn',@tempfcn2);<br><br>function tempfcn2(hObject, eventdata, handles)<br>p=get(gca,'currentpoint');<br>if(isempty(findobj('tag','htext')))<br> ht=text('tag','htext','string',sprintf('(%g, %g)', p(1), p(3)),'position',);<br>else<br> ht = findobj('tag','htext');<br> set(ht,'string',sprintf('(%g, %g)', p(1), p(3)),'position',);<br>end <br>==============================================<br>看错了...-_-|||<br>直接用get(handles.youraxes,'XDATA')<br>OR<br>get(handles.youraxes,'YDATA')<br>如果是某条曲线上的点,用findobj找到句柄再用上面的语句,细节自己搞吧,应该很简单,前提是图为你自己画的,或者是fig格式的,别的什么jpg之类的应该不行。<br>
[此贴子已经被作者于2006-6-8 0:37:39编辑过]
回复:(bainhome)function hc % made by genial in ...
<P>曲线是通过ezplot得到的曲线,请问如何通过用findobj找到句柄阿?我通过findobj得到的是相应的句柄值,不能进行get(handles.youraxes,'YDATA'),这里的handles是个结构体吧?以前没有用过句柄绘图,请指点一下,谢谢。<BR></P> <P>h=ezplot('x^2-y^4')<BR>h =<BR>154.0033<BR>155.0012<BR>get(gca)<BR>ezplot绘图没有xdata和ydata的属性,貌似仍然是符号变量的操作,不过奇怪的是如果能用ezplot绘图就一定有公式,直接通过公式得到数据岂不更快?</P>回复:(bainhome)h=ezplot('x^2-y^4')h = 154.0033...
如果没有xdata属性是不是就不能获得那些点了,公式是已知的,可是公式特别复杂,并且对应一个x值可以得出很多个y值,我要进行排出,工作量比较大,并且可能不能实现,所以想通过得到的曲线得到那些点回复:(bainhome)h=ezplot('x^2-y^4')h = 154.0033...
问题解决了,用你上面提到的方法,谢谢,<BR>不胜感激<BR>好高兴啊,问题解决了 这样子 好象也可以<BR>ezplot('x^2-y^4');<BR>x1=get(get(gca,'children'),'xdata');<BR>y1=get(get(gca,'children'),'ydata');<BR>不过如果图线特别多的话,不是很方便,因为生成的是元胞数组。<BR>to bainhome:<BR>h=ezplot('x^2-y^4')<BR>这个语句我的怎么运行不了?提示有错误。<BR> <P>V6.5没有ezplot的句柄调用格式,V7有。<BR>前面我的说法有误,确切说是在未隐藏属性中没有XDATA和YDATA,故更正。</P>
页:
[1]