曲线与点和线之间的交点

时间:2014-03-15 18:07:40

标签: matlab intersection points curve

我是matlab的新手,我正试图找到一条曲线(来自点)和一条线之间的交点。

我有一些点,我在这些点之间绘制插值。现在我想找到插值(xi,yi)曲线和另一条直线之间的交点。

x = [94.8;84.4;63.1;49.4;40.6;33.8;23.2;20.1;10.2;9.2;7.9];
y = [0; 11.4;29.7;41.6;47.5;50.1;52.9;50.6;32.2;28.1;0];
xi=94.8:-0.1:7.9;
yi=interp1(x,y,xi,'spline');
plot(x,y,'*');
hold on
plot(xi,yi);

我研究过,但我发现的一切都需要一个功能。我已经尝试使用polyfit将曲线转换为函数,但是拟合并不合适。

在matlab中这样做是可行的吗?

感谢。

1 个答案:

答案 0 :(得分:0)

基本上,错误消息要求您输入函数句柄(类似于其他语言的函数指针)。没有必要将其转换为与函数的数学定义匹配的东西(例如,多项式):

f=@(xi)(interp1(x,y,xi,'spline'))

这可以在每个xi进行评估。

像其他所有功能一样使用:

f(1)
f(1:3)