如何基于这样的3个点生产样条曲线。

我希望通过A,B,C三点得到一条如下图所示的样条曲线,其条件是已知:
A,C两点坐标为 A(Xa,Ya), C(Xc, Yc),其中Xc>Xa,Yc>Ya,且A,C两点的一阶导数均为0;
B点坐标为 B(Xb, Yb),其中Xa<Xb<Xc,Ya<Yb<Yc,且B点一阶导数为0到正无穷的某一定值Kb(大概1到300吧) 。
我自己尝试了几种生成样条曲线的函数,但无奈都没成功,感觉自己是在搞不定了,希望擅长这方面的朋友能给些帮助,谢谢了

 Accepted Answer

yelodi
yelodi on 24 Nov 2022

0 votes

不清楚是否正确理解了你的需求
xa = 1; xb = 2.5; xc = 3.5;
ya = 0; yb = 1; yc = 2;
x = [xa xb xc xa xb xc];
scatter(x(1:3),[ya yb yc]); hold on
for kb = 1:10
y = [ya yb yc 0 kb 0];
pp = spapi(3,x,y);
fnplt(pp, [0,3.5]);
end

More Answers (0)

Tags

Asked:

on 24 Nov 2022

Answered:

on 24 Nov 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!