我在想我該如何適合三點x = ([0.42 0.64 0.96])
和 y = ([4.2 5.1 6.0])
y = k * x ^(0.88)?matlab與亞次多項式擬合的曲線
我試過[p,S,mu] = polyfit(x,y,0.88);
但MATLAB表示只接受整數數字的功率。謝謝。
編輯:
的想法是,我知道這三點應遵循基於一定的理論曲線,所以我想繪製它說服自己。另外,我想做曲線擬合,因爲我不知道k
是什麼。
我在想我該如何適合三點x = ([0.42 0.64 0.96])
和 y = ([4.2 5.1 6.0])
y = k * x ^(0.88)?matlab與亞次多項式擬合的曲線
我試過[p,S,mu] = polyfit(x,y,0.88);
但MATLAB表示只接受整數數字的功率。謝謝。
編輯:
的想法是,我知道這三點應遵循基於一定的理論曲線,所以我想繪製它說服自己。另外,我想做曲線擬合,因爲我不知道k
是什麼。
lsqnonlin
怎麼樣?
你可以嘗試
model = @(x,k) (k*x.^0.88);
resVec = @(k) (y(:) - model(x(:),k));
k_start = 1;
k_opt = lsqnonlin(resVec,k_start);
如果你有加上一個常數到模型OK,你可以這樣做:
[p,S,mu] = polyfit(x.^(0.88),y,1);
那麼你就必須通過y
近似p(2)*x.^(0.88)+p(1)
(最小化誤差的平方之和)