声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2032|回复: 9

[综合讨论] 求助:如何获得已知曲线上的一系列点的坐标?

[复制链接]
发表于 2006-6-7 21:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
如题,我知道如何获得一个点的坐标,可以通过ginput函数得到,可是我想获得图像上一系列的点,并且是精确值,而不是通过鼠标确定的点,应该用什么函数获得呢?多谢各位指教,很着急!

[ 本帖最后由 xinyuxf 于 2007-7-22 21:41 编辑 ]
回复
分享到:

使用道具 举报

发表于 2006-6-7 22:28 | 显示全部楼层
<P>一系列有规律的点还是没有规律的呢?</P>
发表于 2006-6-7 22:37 | 显示全部楼层
用鼠标的是gtext<BR>你是想通过鼠标放在哪,哪就显示坐标?<BR>还是说直接的大概多少距离显示一个坐标。<BR><BR>
发表于 2006-6-8 00:31 | 显示全部楼层
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',[p(1),p(3)]);  <br>else  <br>   ht = findobj('tag','htext');  <br>   set(ht,'string',sprintf('(%g, %g)', p(1), p(3)),'position',[p(1),p(3)]);  <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编辑过]

 楼主| 发表于 2006-6-8 10:53 | 显示全部楼层

回复:(bainhome)function hc % made by genial in ...

<P>曲线是通过ezplot得到的曲线,请问如何通过用findobj找到句柄阿?我通过findobj得到的是相应的句柄值,不能进行get(handles.youraxes,'YDATA'),这里的handles是个结构体吧?以前没有用过句柄绘图,请指点一下,谢谢。<BR></P>
发表于 2006-6-8 11:14 | 显示全部楼层
<P>h=ezplot('x^2-y^4')<BR>h =<BR>  154.0033<BR>  155.0012<BR>get(gca)<BR>ezplot绘图没有xdata和ydata的属性,貌似仍然是符号变量的操作,不过奇怪的是如果能用ezplot绘图就一定有公式,直接通过公式得到数据岂不更快?</P>
 楼主| 发表于 2006-6-8 11:54 | 显示全部楼层

回复:(bainhome)h=ezplot('x^2-y^4')h = 154.0033...

如果没有xdata属性是不是就不能获得那些点了,公式是已知的,可是公式特别复杂,并且对应一个x值可以得出很多个y值,我要进行排出,工作量比较大,并且可能不能实现,所以想通过得到的曲线得到那些点
 楼主| 发表于 2006-6-8 12:03 | 显示全部楼层

回复:(bainhome)h=ezplot('x^2-y^4')h = 154.0033...

问题解决了,用你上面提到的方法,谢谢,<BR>不胜感激  <BR>好高兴啊,问题解决了
发表于 2006-6-8 13:51 | 显示全部楼层
这样子 好象也可以<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>
发表于 2006-6-8 18:36 | 显示全部楼层
<P>V6.5没有ezplot的句柄调用格式,V7有。<BR>前面我的说法有误,确切说是在未隐藏属性中没有XDATA和YDATA,故更正。</P>
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-25 13:19 , Processed in 0.053005 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表