扎克 发表于 2013-2-16 00:28

有关离散点的曲线问题

本帖最后由 扎克 于 2013-2-16 00:33 编辑

先祝大家新年快乐!


在绘制曲线时碰到了困难,如左下角的曲线和右下角的曲线,我用的是同一个命令spline,为什么左下的曲线用这个命令可行,而右下的就不行?(同理,右上的曲线可以获得,而左上的也不行)
我用的是以下命令:
cs = spline(spur_2(2:4,1), spur_2(2:4,2));
xx = linspace(spur_2(2,1),spur_2(4,1),50);
plot(spur_2(2:4,1), spur_2(2:4,2),'o',xx,ppval(cs,xx),'g-');
数据在这里:12.850802777850.8054333333                     
12.850597222250.8057777778
12.850644444450.8059194444
12.850833333350.8060000000
12.853277777850.8066000000

spur_2是右下角的曲线的所有点的矩阵,第二,第三,第四个点即为图中的那3个点。

或者说有什么命令能够更好的画出图中十字路口的曲线??因为曲线的2端都是直线,这2条直线的斜率应该和曲线2端点的斜率是一样的,其实左边那条曲线也没有很好的表示,求指教。





ChaChing 发表于 2013-2-16 22:39

感觉三点就做Cubic spline, 结果会好吗?

扎克 发表于 2013-2-21 06:14

之前的问题已经解决了,在曲线后面那一点强制插值就可以了,但是月牙形的弧线没办法做。
比如5个点分别为(1,1),(2,2),(2.5,3),(2.2,4),(1.1,5),因为spline的前提条件是x轴的单调递增,所以用spline做出来这5个点的曲线的取点顺序应该是(1 1),(1.15)(22),
(2.24),(2.53)

同样如果X值相等的话,会出错。

求指教,,,

ChaChing 发表于 2013-2-21 19:40

扎克 发表于 2013-2-21 06:14 static/image/common/back.gif
之前的问题已经解决了,在曲线后面那一点强制插值就可以了,但是月牙形的弧线没办法做。
比如5个点分别为( ...

要不x/y个别spline试试看!?
页: [1]
查看完整版本: 有关离散点的曲线问题