声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2112|回复: 6

[编程技巧] 求两曲线间的平均距离

[复制链接]
发表于 2009-3-21 15:59 | 显示全部楼层 |阅读模式

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

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

x
我画了两条曲线(不知道表达式,因为是拟合曲线),现在要求求出两条曲线之间的平均距离。假定两条曲线的始末点在轴的坐标是一样的。请教高手如何编程。

[ 本帖最后由 ChaChing 于 2009-3-21 23:27 编辑 ]
回复
分享到:

使用道具 举报

发表于 2009-3-21 17:41 | 显示全部楼层

回复 楼主 542263950 的帖子

LZ的平均距离定义为何? 相同x时, y的差异? 还是其他?
时间有限, 建议LZ先大约自己试编一下
 楼主| 发表于 2009-3-21 19:11 | 显示全部楼层
这是我用MATLAB编的程序所画出的图像,我现在是要求给定始末点x值相同。求其曲线间平均厚度。这应该用什么函数编啊。有高手给我编一个程序来求其平均厚度。两条曲线的函数是
axis([0 10 0 10]); hold on
xy = []; n = 0;
disp('Left mouse button picks points.'); disp('Right mouse button picks last point.');
but =1;
while but ==1
    [xi,yi,but] =ginput(1); plot(xi,yi,'ro'); n=n+1; xy(:,n)=[xi;yi];
end
t=1:n; ts=1:0.1:n; xys=spline(t,xy,ts); plot(xys(1,:),xys(2,:),'b-');

xy = []; n = 0;
disp('Left mouse button picks points.'); disp('Right mouse button picks last point.');
but =1;
while but ==1
    [xi,yi,but] =ginput(1); plot(xi,yi,'ro'); n=n+1; xy(:,n)=[xi;yi];
end
t=1:n; ts=1:0.1:n; xys=spline(t,xy,ts); plot(xys(1,:),xys(2,:),'b-');
hold off
grid on

[ 本帖最后由 ChaChing 于 2009-3-21 21:33 编辑 ]
clip_image002.jpg
发表于 2009-3-21 19:47 | 显示全部楼层

回复 板凳 542263950 的帖子

对两曲线之间的部分积分,除以x轴长度得到的是不是就是楼主想要的平均厚度?

评分

1

查看全部评分

 楼主| 发表于 2009-3-21 20:05 | 显示全部楼层
我也是这么想的,我就规定两条曲线的起点和终点x值相等,求出面积,起点和终点x值的差值,得到它的平均厚度。那我应该怎么写程序才能在上述程序下得到其平均厚度。请教高手
发表于 2009-3-21 21:43 | 显示全部楼层
使用ginput很难控制"起点和终点x值相等"吧!?
不能直接采用x,y进行spline, 控制其fit完之x座标相同, 再直接求两y差之平均即可!
 楼主| 发表于 2009-3-22 08:56 | 显示全部楼层
虽然用ginput不能使得x值相等,但是我想可以写段程序使得取的x的值是相等的。然后按照曲面图形求的的面积。现在关键是怎么编程序使得鼠标点到曲线上时候,使两条曲线的x值都为该值,加上求面积的编程。请高手指教下。最好有程序写出的。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-9-22 17:29 , Processed in 0.066947 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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