24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1178  |  回复: 1

shshbly

金虫 (小有名气)

[求助] 【求助】matlab拟合的等值线上任意一点坐标怎么获取?以及如何沿等值线积分?

二维的数据,每个网格点都有对应的函数值f;
读入matlab以后,利用contour可以拟合出f=0的等值线;
问题是:
1. 怎样获得任意x坐标(不一定是网格节点)对应的等值线上的Y坐标值?
2. 怎样沿等值线进行积分,以获得等值线的长度?
多谢!

补充:
导入数据和画等值线的代码,以及等值线图,f=0
网格点x方向43个,y方向301个,dx=dy=0.001m
比如,求任意一点 x=0.00875 对应的 f=0等值线上点的 y 坐标值是多少?
另外,怎样积分求得红色等值线的总长度?
==============================================
Data=load('shuju.dat');
x=Data(:,1);
y=Data(:,2);
f=Data(:,5);
xx=reshape(x,301,43);
yy=reshape(y,301,43);
ff=reshape(f,301,43);
v=[0,0];
contour(xx,yy,ff,v,'r','LineWidth',2);
xlabel('x/m');
ylabel('y/m');
==============================================
untitled.png
【求助】matlab拟合的等值线上任意一点坐标怎么获取?以及如何沿等值线积分?
untitled.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shshbly

金虫 (小有名气)

我现在想的是,[C,h]=contour(x,y,f,v)画出f=0等值线之后,C 里面保存了一系列f=0线上的点,然后再一段段求和得到长度。

不知道有没有更好的方法呢?

然后另一个问题是怎样获得任意x坐标(不一定是网格节点)对应的等值线上的Y坐标值?或者如何得到某一点(不一定是网格节点)上的函数值 f 值?我的目的是要判断任一点是在f=0前面还是后面,也就是任一点的f值是正还是负。

多谢 !
2楼2014-12-08 11:07:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shshbly 的主题更新
信息提示
请填处理意见