當前位置:編程學習大全網 - 編程語言 - 如何用高分在線實現matlab用貝塞爾曲線擬合壹組數據?

如何用高分在線實現matlab用貝塞爾曲線擬合壹組數據?

最簡單的多項式擬合

P = POLYFIT(X,Y,N)計算N次多項式P(X)的系數,該系數在最小平方意義上最符合數據Y。p是長度為N+1的行向量,包含遞減冪的多項式系數,p(1)*x^n+p(2)*x^(n-1)+...+ P(N)*X + P(N+1)。

三次樣條插值

pp = spline(x,Y)返回三次樣條插值的分段多項式形式,以供以後與ppval和樣條實用程序unmkpp壹起使用。x必須是壹個向量。y可以是壹個標量,壹個向量,或者任何維數的數組。如果Y是壹個非向量數組,則Y的大小必須為[d1,d2,...dk,n],其中n是x的長度。對每個d1乘d2乘-執行插值...-y中的dk值。

yy = spline(x,Y,xx)與yy = ppval(spline(x,Y),xx)相同,因此在yy中提供了xx處的插值的值。xx可以是標量、向量或多維數組。

貝塞爾曲線

函數[X,Y]=貝塞爾(X,Y)

%使用率:

%貝塞爾曲線(x,y)

%生成n-1貝塞爾曲線,其中x和y是n個點的坐標。

% h =貝塞爾曲線(x,y)

%生成n-1貝塞爾曲線並返回曲線句柄。

%[X,Y]=貝塞爾曲線(X,Y)

%返回n-1次貝塞爾曲線的坐標。

%示例:

%貝塞爾([5,6,10,12],[0 5 -5 -2])

n =長度(x);

t=linspace(0,1);

xx = 0;YY = 0;

對於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);

結束

如果nargout==2

X = xxY = yy

結束

h=plot(xx,YY);

如果nargout==1

x = h;

結束

結束

MATLAB提供了很多插值和擬合的函數,可以在幫助中查看,有示例程序。

比如POLYFIT

Doc polyfit可以用來查找。找到之後,還有很多相關的功能。如果妳壹個壹個往下看,妳就能找到妳需要的。

  • 上一篇:上海有哪些安靜的酒吧推薦?
  • 下一篇:國家環保總局認可的環保相關專業?

    如何理解國家環保總局認可的其他環保相關專業?

    是指屬於或與環境保護有關,並能被環保總局判定和認定的專業。

    環境保護包括:環境工程、環境汙染與控制、環境衛生工程、環境化學品、環境監測、環境科學、生態學、環境保護與監測、環境規劃與管理、環境工程管理、規劃與環境保護、環境控制工程、環境保護、水資源與環境水文工程、環境監測與控制、綠化與環境科學

  • copyright 2024編程學習大全網