Skip to content

Instantly share code, notes, and snippets.

@monhime
Created January 14, 2020 07:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save monhime/09346abb0ce964d6c9138e1165149281 to your computer and use it in GitHub Desktop.
Save monhime/09346abb0ce964d6c9138e1165149281 to your computer and use it in GitHub Desktop.
LPFの利得の周波数特性のデータを非線形曲線近似する
% 10から10^6までログスケールで等間隔な100個の点ω [rad/s]
omega = logspace(1,6,100)
% Gdata: 計測して得られた利得(を想定)
% ここでは理想のモデル式に乱数のノイズを足しています
Gdata = 20*log10(abs(1000./(i*omega+1000))) + randn(100,1)
G = @(k,omega) 20*log10(abs(k(1)./(i*omega + k(2))))
% 実際にフィッティングするときは大雑把でいいです
k0 = [990,1020]
k = lsqcurvefit(G,k0,omega,Gdata)
% 片対数グラフを作成
% 今回は近似曲線が緩やかで直線部分が長いのでカクカクしません
semilogx(omega,Gdata,'ko',omega,G(k,omega),'b-')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment