工学

このページでは当ブログ、WATLABで投稿している工学系のプログラミング記事をまとめています。工学に必要な数学からまとめていますので、お好きな所からお読み下さい。

目次(項目クリックでジャンプできます)

計算力学技術者試験

振動分野の有限要素法解析技術者

計算力学技術者試験1級と2級(振動)を同時に受験して合格した感想

熱流体分野の有限要素法解析技術者

計算力学技術者試験の熱流体2級に合格するのに必要な勉強量

統計

相関

Pythonでベクトルと関数の相関を計算してみる

線形代数

逆行列

Python/NumPyで線形代数!linalgで逆行列を求める方法

直接法による連立方程式の解法

逆行列法

Pythonで線形代数!連立1次方程式を解く

ガウスの消去法

Numpyだけで書いたガウスの消去法で連立1次方程式を解いてみた

反復法による連立方程式の解法

ヤコビ法

Pythonで連立方程式をヤコビ法(反復法)で解く方法

ガウス・ザイデル法

Pythonで連立方程式をガウス・ザイデル法(反復法)で解く方法

SOR法

連立方程式をSOR法で解くPythonコードと緩和係数のパラスタ

数式処理による連立方程式の解法

Python/Sympyで文字式のまま連立方程式を解く方法

固有値/固有ベクトル

Pythonで線形代数!固有値と固有ベクトルを求める

行列の対角化

Pythonで線形代数!行列の対角化をする方法

テイラー展開/マクローリン展開

Python/sympyでテイラー展開した結果をグラフ化する方法

sympyで定義した2変数関数をマクローリン展開してプロットする

数値解析手法

ニュートン-ラフソン法

Python/sympyとnumpyで書くニュートン-ラフソン法

Runge-Kutta法

Pythonの4次ルンゲ・クッタ法で多自由度連成振動を解く方法

Pythonで多自由度振動系の過渡応答計算をする時はSciPyを使おう

差分法

Pythonで1次元移流方程式を離散化して数値流体力学に入門する

Pythonで拡散方程式を数値計算してアニメーションを作成する

複素力学系

マンデルブロ集合

Pythonで描くマンデルブロ集合!フラクタルの旅を体感してみる

ジュリア集合

Pythonでジュリア集合を描画!条件変更で動画にしてみた

積分

1重積分と2重積分

Python/SciPyで積分(1重/2重)した結果を可視化する方法

ガウス積分

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

シンボリック処理による積分

積分で解くWi-FiパスワードをPython/sympyで計算する

固体力学

GetFEMのインストール

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

1次元梁モデル

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

機械力学

1自由度系

非減衰系の自由振動

Pythonで1自由度非減衰系の自由振動シミュレーション

減衰系の自由振動

Pythonで1自由度減衰系の自由振動シミュレーション

減衰系の強制振動

Pythonで1自由度減衰系の強制振動シミュレーション

Pythonで1自由度減衰系の過渡応答周波数分析をやってみた

Pythonの過渡応答解析で力を滑らかにかけて応答の違いを見る

多自由度系

運動方程式

Pythonで計算するために多自由度振動系を行列形式にする方法

Python/SymPyで連立運動方程式の剛性行列を自動生成する

csvの値から直列ばねマスモデルを自動生成するPythonコード

固有値解析

Pythonで多自由度系の固有値解析!固有振動数とモードを計算

過渡応答解析

Pythonの4次ルンゲ・クッタ法で多自由度連成振動を解く方法

Pythonで多自由度振動系の過渡応答計算をする時はSciPyを使おう

周波数応答解析

振動モデルを直接法の周波数応答解析で解くPythonコード

回転数変化を模擬した周波数応答解析で次数分析するPythonコード

レイリー減衰

Pythonでレイリー減衰を実装する方法!解析して効果を見てみる

MAC

Pythonで固有ベクトルのMAC(モード信頼性評価基準)を計算

非線形振動

Duffing振動子

PythonでDuffing振動子を解析してアトラクターを見る

Pythonで非線形ばねを持つ1自由度振動系の周波数応答関数を求める

回転機の振動

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

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

制振技術

ダイナミックダンパー

Pythonで体験する制振技術!ダイナミックダンパーで遊んでみる

振動計測

減衰特性

振動波形のヒルベルト変換から対数減衰率を求めるPythonコード

回転パルス検出

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

流体力学

数値流体力学

移流方程式

Pythonで1次元移流方程式を離散化して数値流体力学に入門する

Pythonで2次元移流方程式を数値計算する方法

拡散方程式

Pythonで拡散方程式を数値計算してアニメーションを作成する

Pythonで2次元拡散方程式を数値解析して定常解析と比較する

移流拡散方程式

Pythonで2D移流拡散方程式を数値計算して拡散流れを表現する

ラプラス方程式

Pythonで2次元ラプラス方程式を数値計算する方法

境界条件

2D数値計算の境界条件を画像から作るPythonコード例

実験流体力学

PIV

Python/PIVの検証用に管内の粒子流れ動画を作ってみた

OpenCVのテンプレートマッチングで変形量を算出する方法

Python/OpenCVでPIV計測!粒子移動をベクトル化する

航空力学

NACA翼型

PythonでNACA4桁翼の断面形状を作図する方法

データ同化

線形最小分散推定

Pythonで学ぶデータ同化の基礎!線形最小分散推定をやってみる

最尤推定法

ベイズの定理から最尤推定法を導出してPythonで可視化してみる

最適化

多目的最適化

Platypusで多目的最適化からパレートフロントを求める方法

応答曲面法(RSM)

1つの応答曲面を遺伝的アルゴリズムで探査するPythonコード例

機械学習で回帰した2つの応答曲面を多目的最適化で探査してみた

CAD

作図

ベジェ曲線

Pythonで二項係数を理解してベジェ曲線描画コードを実装する

重心/図心

Python/OpenCVで2次元面の重心を求める方法

STL

表示/情報取得

PyVistaをインストールしてPythonでSTLを扱う備忘録

座標変換

Python/PyVistaでSTLモデルを座標変換してみた

サーフェスメッシュ作成

PyVistaで任意サーフェスメッシュを作成してSTL保存する

サーフェス欠落面を閉じる

PyVistaで面が閉じた立体を作ってSTL保存する1つの例

距離計測

PyVistaで2つのSTLサーフェス間距離を計測した事例集

工学的な記事はこちらのページで体系的にまとめていきます!