【Python-numpy】二次曲線近似式の係数を一発算出する方法!

こんにちは、ヒガシです。

 

このページではPython上で、以下のような二次曲線の近似式の係数3つを一発算出する方法をご紹介していきます。

二次曲線近似式を算出するという作業概要説明

要は上記の近似式内のa=3.0421, b=-12.346, c=18.262という数値を算出していきます。

 

たったの1行のコードで算出可能ですので、ぜひ覚えておきましょう。

 

それではさっそくやっていきましょう。

 

スポンサーリンク

二次曲線近似の係数を算出する方法

今回は二次曲線近似式の算出には、numpyのpolyfitというスキルを使用します。

 

使い方は以下の通りです。

import numpy as np
a,b,c=np.polyfit(x,y,2)

これで、二次曲線近似式(y=ax^2+bx+c)におけるa,b,cが算出できます。

超簡単ですね。

 

スポンサーリンク

二次曲線近似式の実際の算出例

とはいえ、先ほどの例だけではよくわからないと思いますので、実際のデータを使って適用してみましょう。

 

使用するデータは冒頭でもお見せした以下のデータです。

使用するサンプルデータの紹介

このx,yをcsv化して保存してあります。

 

という状況で実際にnumpy.polyfitを使ってみましょう。

#ライブラリインポート
import numpy as np
import pandas as pd
#データの読み込み
data=pd.read_csv('sample_data.csv').values
x=data[:,0]
y=data[:,1]
#近似式の係数算出
a,b,c=np.polyfit(x,y,2)
#計算結果の確認
print('a='+str(round(a,3)))
print('b='+str(round(b,3)))
print('c='+str(round(c,3)))

4~7行目で先ほど紹介したデータを読み込み、9行目でnumpy.polyfitを実際に適用しています。

 

スポンサーリンク

numpy.polyfitで二次曲線近似式を算出した結果

先ほどのプログラムを実行すると以下の結果が出力されました。

numpy.polyfitで二次曲線近似式を算出した結果

エクセルで作成した近似式と比較してみましょう。

エクセルで算出した結果と比較

問題なく同じ結果を出力できていますね。

 

スポンサーリンク

おわりに

というわけで今回はpythonを使って、データから二次曲線近似式の係数3つを一発算出する方法をご紹介しました。

 

データ分析の際などにぜひご活用ください。

 

このように、私のブログでは様々なスキルを紹介しています。

過去記事一覧

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。
⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

 

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。
↓ 応援ボタン
にほんブログ村 IT技術ブログへ
にほんブログ村

それではまた!

コメント

タイトルとURLをコピーしました