我是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中这样做是可行的吗?
感谢。
答案 0 :(得分:0)
基本上,错误消息要求您输入函数句柄(类似于其他语言的函数指针)。没有必要将其转换为与函数的数学定义匹配的东西(例如,多项式):
f=@(xi)(interp1(x,y,xi,'spline'))
这可以在每个xi进行评估。
像其他所有功能一样使用:
f(1)
f(1:3)