24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1582  |  回复: 3

jjfhero

新虫 (小有名气)

[交流] 那位大侠。研究过贝塞尔曲线,拟合数据点的方法。我在网上找到了一串代码

function [X,Y]=bezier(x,y)

%用法:
%bezier(x,y)
%       生成n-1次贝塞尔曲线,其中x和y是n个点的坐标
%h=bezier(x,y)
%       生成n-1次贝塞尔曲线并返回曲线句柄
%[X,Y]=bezier(x,y)
%       返回n-1次贝塞尔曲线的坐标
%例子:
%bezier([5,6,10,12],[0 5 -5 -2])
n=length(x);
t=linspace(0,1);
xx=0;yy=0;
for k=0:n-1
    tmp=nchoosek(n-1,k)*t.^k.*(1-t).^(n-1-k);
    xx=xx+tmp*x(k+1);
    yy=yy+tmp*y(k+1);
end
if nargout==2
    X=xx;Y=yy;
end
h=plot(xx,yy);
if nargout==1
    X=h;
end



这个是网上的源代码,但是我没有运行成功。希望大侠们不吝赐教。谢谢。
回复此楼
搞学术!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjfhero

新虫 (小有名气)

或者样条插值的程序也可以。。。
搞学术!
2楼2016-03-08 13:19:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

淘宝搜费老师

捐助贵宾 (小有名气)


★ ★
小木虫: 金币+0.5, 给个红包,谢谢回帖
jjfhero: 金币+1 2016-03-29 20:01:18
样条插值MATLAB自带,fitting函数或者spline
3楼2016-03-09 00:03:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjfhero

新虫 (小有名气)

引用回帖:
3楼: Originally posted by 淘宝搜费老师 at 2016-03-09 00:03:54
样条插值MATLAB自带,fitting函数或者spline

嗯,不过这个样条函数应该是必须经过每一个要拟合的数据点的吧?我现在想用最小二乘法做,但是找不到如何使最小二乘法必须经过第一个跟最后一个点的方法。
搞学术!
4楼2016-03-27 14:40:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 jjfhero 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见