找回密码
 注册
Simdroid-非首页
查看: 56|回复: 1

请教:如何判断由矩阵生成的等高线(等频线)哪个部分是直的

[复制链接]
发表于 2011-3-7 10:58:41 | 显示全部楼层 |阅读模式 来自 四川成都
本帖最后由 Turtlerock 于 2011-3-8 15:22 编辑

现有一个矩阵,然后由此矩阵用contour命令生成等高线,然后需要判断其中哪些线是直的,其中直的部分大概长度是多少,这个有没有好的方法,目前我只能靠看图来判断,太累了。
比如下图:

其对应数据文件,现在把直接保存的变量文件上传(data.mat),可以直接解压后load了:


代码如下,这里没有设定等高线条数,因为这个可以根据情况调整的,也没有使用clabel标注数据:
load('data.mat')
xrange=linspace(-0.5,0.5,size(ff,2));
yrange=linspace(-0.5,0.5,size(ff,1));
[C,h]=contour(xrange,yrange,ff);
axis equal;
axis([-0.5 0.5 -0.5 0.5]);

至于怎么判断是否直线,正是我想请教的内容
我想是不是可以通过设定一个容差范围,在这个范围内的可视为直线。或通过曲率等来判断?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 发表于 2011-3-7 11:12:36 | 显示全部楼层 来自 四川成都
Simdroid开发平台
上图中,手动判断0.265-0.282间的曲线,是接近圆角正方形的,即有直线部分,这个能否通过程序判断?
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-5 01:24 , Processed in 0.033948 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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