test
周波数配列に応じて、特定のパワー スペクトル配列が として保存されていますf
。
このパワー スペクトルは、通常、次の図のようになります。
上記のパワースペクトルは、シミュレートされた時系列に由来することに注意してください。
私がやりたいことは、原則として、以下に示すように、シミュレートされたパワー スペクトルに近づく曲線を当てはめることです。
理論上のパワー スペクトルは次のように定義できることを知っています。
function ps_theo = ps_th(L,Uhub,f)
const = L/Uhub;
f_x = 6.*f.*(L/Uhub);
exp = 5/3;
ps_theo = (4*const)./((1 + f_x).^exp);
end
ここL
で、 は一定の長さのスケール 、Uhub
一定の速度、およびf
周波数ベクトルです。
問題は、「L」の値がわからないため、を使用して最適化された非線形解像度lsqcurvefit
を考えていたことです。
私は次のように進めてきました:
xdata = f;
ydata = test;
Uhub = 10;
fit_func = @(L) ps_th(L,Uhub,f);
L_opt = lsqcurvefit(@fit_func,330.2,xdata,ydata)
関数の入力変数の数に関するエラー メッセージを取得しますfit_func
。
光を当ててみませんか?