Python

Pythonでルジャンドル多項式を使ってガウス積分をする方法

数値解析の分野ではガウス積分という求積手法がよく用いられます。ガウス積分はルジャンドル多項式を使って積分点と重みを算出しますが、初学者はまずこれらの概念を理解するのが難しいです。この記事では簡単な関数を題材にガウス積分を計算する方法をPythonコードと共に紹介します。

続きを読む

Pythonで基礎から学ぶ1次元梁モデルの有限要素法

有限要素法は一般的に商用ソフトやオープンソースのライブラリを活用して「使う」ことが多いものですが、理解するためには自分でプログラミングするのが一番です。ここでは手計算でもできるレベルの問題をPythonによる有限要素法コードで解くことで、計算の流れを把握することを目指します。

続きを読む

YOLOv8のposeで動画ファイルから姿勢推定をしてみた

Pythonの外部ライブラリultralyticsを用いれば、YOLOを使ってバウンディングボックスの描画だけでなく、高度な姿勢推定も実現可能です。この記事では、動画ファイルに対してposeモデルを利用した姿勢推定コードの作成と利用方法を分かりやすく紹介します。

続きを読む

SciPyのcurve_fitでデータを任意の関数に近似する方法

技術計算の分野では、測定されたデータを任意の関数にカーブフィットする需要が頻繁にあります。Pythonのscipy.optimize.curve_fitを使えば点列データを1次元や2次元の関数で簡単にフィッティングできます。ここでは様々な関数を例にcurve_fitを使ってみた内容を紹介します。

続きを読む

WindowsのWSL2でPython3/GetFEMを使ってみた

計算力学技術者試験の勉強のため、Pythonで使える有限要素法ライブラリGetFEMを使ってみました。GetFEMは通常Linux環境が必要ですが、WindowsでもWSLを使えばLinux環境を手にいれることができます。ここではWindows機でGetFEMを使う時のメモを紹介します。

続きを読む

Python/ultralyticsでYOLOv8をただ使ってみた

機械学習に強いPythonとはいえ、ゼロから精度の良い物体検出アプリをつくるのは骨が折れるでしょう。しかしultralyticsというライブラリを使えば数行のコードでキーとなる検出部分を書くことができます。ここではultralyticsを用いたYOLOv8の説明を行います。

続きを読む

Python/SpeechRecognitionで音声認識してみた

機械学習で有名なPythonを使って「音声認識」をしてみます。今回は初心者が最も導入しやすいSpeechRecognitionをインストールし、Googleのサービスを使ったGoogle Speech Recognitionによる音声認識プログラミング事例を紹介します。

続きを読む

回転機の振動シミュレーションで回転パルスを設定してみた

先日の記事で回転機のアンバランス振動シミュレーションをPythonで行いました。振れ回り振動と参考書の対応がとれたので、次はより詳細な分析を行うために回転パルス(基準信号)をシミュレーションで設定してみます。ここではPythonのodeintで基準パルスを設定しながらアンバランス振動のシミュレーションを行う方法を紹介します。

続きを読む

回転機のアンバランス振動をシミュレートするPythonコード

工業製品である回転機はアンバランスを修正することで精密な回転を実現しています。しかし、アンバランスを真に0にすることは難しく、不釣り合い振動の影響をシミュレーションすることは重要です。ここではPythonのscipy.odeintを使ってアンバランス振動を解析する方法を紹介します。

続きを読む

Pythonで高速フーリエ変換をCooley-Tukey法で書く

PythonにはNumPyやSciPyによる優秀な高速フーリエ変換(FFT)アルゴリズムがありますが、基本的なFFTの仕組みを学習するにもPythonは最適です。ここでは最も一般的なFFTアルゴリズムであるCooley-Tukey法をPythonのNumPyで記述し、numpy.fftの結果と比較します。さらに、データ点が2の冪乗でない場合のゼロパディング処理も実装します。

続きを読む