爲了找到最佳擬合(通過polyfit),我得到負p值,但matlab不接受它(下標索引必須是真正的正整數或邏輯)。有什麼方法可以使用它嗎?我想不出替代方法。我會永遠得到負面的價值。在Matlab中使用負值
編輯:
我想平坦的曲線的基線,爲。我正在運行循環以適合從1到3的順序。然後我使用最小的常數值來找到最佳擬合,然後從整個曲線中減去它以獲得基線。我嘗試了很少的曲線,但效果很好,但沒有與所有的數據,因爲上面描述的問題。我工作的代碼
部分:
for i=1:3
[p,s]=polyfit(x,y,i);
a=s.normr;
b(i,1)=p(1);
normr(i,1)=a;
ind=find(b==min(b));
mn=b(ind,1);
Yflat=y-mn(1)*(x-mean(x));
ca{2,2}=Yflat;
clear a b normr p s rte ind ind2 Yflat
end
你用p做什麼?您應該包含該代碼。 – Molly 2013-03-27 18:18:00