(polyfit を介して) 最適な適合を見つけるために、負の p 値を取得していますが、matlab はそれを受け入れていません (添字のインデックスは、実数の正の整数または論理値のいずれかでなければなりません)。使用する方法はありますか?代替手段が思いつきません。私は常に負の値を取得します。
編集:
そのために、曲線のベースラインを平坦化しようとしています。1 から 3 の順序に収まるように for ループを実行しています。次に、最小のノルム値を使用して最適なフィットを見つけ、それを曲線全体から差し引いてベースラインをまっすぐにします。いくつかの曲線で試してみましたが、上記の問題によりすべてのデータではうまく機能しませんでした。
私が取り組んでいるコードの一部:
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