Pythonの基本と振動・制御工学への応用

Pythonの基本と振動・制御工学への応用

MATLABやMathematicaでなくても,Pythonでこんなことまでできる!

ジャンル
発行年月日
2024/02/22
判型
A5
ページ数
204ページ
ISBN
978-4-339-03246-8
Pythonの基本と振動・制御工学への応用
在庫あり
2営業日以内に出荷致します。

定価

3,300(本体3,000円+税)

カートに入れる

購入案内

  • 内容紹介
  • まえがき
  • 目次
  • レビュー
  • 著者紹介
  • 書籍紹介・書評掲載情報
  • 広告掲載情報

【著者からのメッセージ】
機械力学(振動工学)など工業数学の問題を解くには,解析的な方法と数値的な方法があります。ただし,実際的な問題は解析的には解けず,数値的に解かれることが多いです。従来コンピュータを使って問題を解く場合も数値的に解が求められることが一般的でした。身近な例としては,Excelを使った計算などは数値的な方法となります。一方,昨今ではコンピュータでも解析的に数式を取り扱えるようになってきており,例えば、ax2bxc=0 のような数式を文字変数を含めたまま解くことができます。つまり,ある変数に値を代入し,残りの変数は未知変数としてその解を求めることができます。本書で紹介するPythonでは,この解析的な計算と従来の数値的な計算の両方をすることができます。もちろんこれらはMathematicaやMATLABなどのソフトウェアでもできますが,無料という点でPythonが多くの方に歓迎されているようです。

板書で秩序立てて数式や数値を交えながら説明する理系の授業などでは,Pythonを利用すれば数式の計算に悩まされることよりも,図表を用いたもっと上流側の物理的考察や力学的解釈に注力でき,教育効率を各段に向上させることが期待されます。また,Excelを駆使しているような職場でも,複素数や変数を交えての計算なども簡単に扱える本ソフトウェアの導入は,仕事の仕方を変貌させる可能性があります。超優秀な数学担当秘書を採用したに等しい高レベルの仕事手法の獲得に感激するでしょう。著者らは,そのような活用を期待して本書を執筆しました。

紙面の制約で本書では中途となったプログラムが多々あり,(詳細はWEB)のサインが入っています。コロナ社のWebページからプログラムの全文をダウンロードできるので,是非活用して下さい。

【各章の説明】
第1章 Python 事始め
 Python のダウンロードおよびインストール方法の手引き。
第2章 Python 速習十講
 簡単な電卓計算から始め,表計算,グラフの描画,ファイルの出し入れなど、実践に飛び出す準備です。
第3章 PAD によるプログラミング技法
 フローチャートに似たソフトウェア設計図であるPAD(Problem Analysis Diagram)を紹介。論理思考過程を視覚化、図面に基づくソフト生産の大切さは時間の経過とともに感得されるでしょう。
第4章 Pythonで解く工業数学
 厳選した4テーマ「微分方程式」「ラプラス変換」「フーリエ変換」「固有値問題」について,大学で学ぶ工業数学を例題中心に学ぶ。鉛筆に代えて,ソフトウェアで数学を処理する威力を体感してほしい。
第5章 機械力学
 機械・電気系ダイナミクスの基本として,機械力学(振動工学)の問題を解く。
第6章 制御工学
 機械・電気系ダイナミクスの基本として,制御工学の問題を解く。
第7章 私設関数
 著者らが仕事や教育で使っている重宝な私設関数を紹介する。多いに活用されたい。

大学などの工業数学を考えた場合,少なくとも二つの側面がある。その代表例は数値ベースで計算することで,すべての数値が既知であるExcelのような数値(numerical)計算である。他方は,ax^2+bx+c=0のような文字変数(symbol)を含みながら数式を解くことである。後者のsymbolic数学では,変数にある値を代入し,残りは未知変数として変数名のまま数式展開を行い一般的に解析することができる。数値のみを扱う電卓と似て非なるところである。Pythonでは,この二つの世界は整然と区別され,numpyとsympyのコマンド群で実行する。両群のコマンドを協調させながら一つの目的に向かってプログラムが作成される。競合ソフトウェアMathematicaもsymbolic数学を得意とするが,無料という点でPythonが多くの方に歓迎されている。

板書で秩序立てて数式や数値を交えながら説明する理工系授業などでは,本ソフトウェアの利用で教育効率は各段に向上する。局所的ではあるが大学での理系工業数学の教育方法が一変しつつある。また,Excelを駆使しているような職場でも,複素数や変数を交えての計算なども簡単に扱える本ソフトウェアの導入は,仕事の仕方を変貌させる可能性がある。工場の設計者として効率向上至上主義を教え込まれ,教育者に転じた著者自身,このPythonを駆使した講義の高効率化が目下の自身の開発テーマである。例えば,理工系力学において,数式・計算に悩まされることより,図表を用いてもっと上流側の物理的考察や力学的解釈に注力した講義を展開したい。そのツールとして,Pythonをダウンロード(DL)し,それを活用する入門書を著した。

本書の構成は全7章よりなる。

第1章は,PythonのDLおよびインストール方法の手引きである。

第2章では,簡単な電卓計算から始まり,表計算,グラフの描画,ファイルの出し入れなど通論で10講義を用意。これがわかれば即実践へという入門編である。第3章では,フローチャートに似たソフトウェア設計図であるPAD(Problem Analysis Diagram)を紹介し,論理思考過程の視覚化を説く。第4章では,厳選した4テーマ「微分方程式,ラプラス変換,フーリエ変換,固有値問題」について,大学で学ぶ工業数学を例題中心に学ぶ。鉛筆に代わり,ソフトウェアで数学を処理する威力を体感してほしい。以上の準備のもと,筆者らの専門範囲である機械・電気系ダイナミクスの基本として「機械力学」(振動工学)を第5章に,また「制御工学」を第6章にそれぞれを述べた。最終第7章では,我々が仕事や教育で使っている重宝な私設関数を紹介するので,多いに活用されたい。

Pythonなどのソフトウェア習得のコツはプログラムのコピーにある。自分の課題に近いプログラムをまずコピー,それを変形し,自分流に書き換えていく方法が最も近道であることは,等しく余人の認めるところである。大いにコピーされたい。紙面数の制約で本書では中途となったプログラムが多々あり,(詳細はWEB)のサインが入っている。コロナ社のWebページにはプログラムの全文が載っているので,DL活用をお願いします。

書き終えてみると,ソフトウェア紹介本の執筆の大変さを思い知った。特にプログラミングでは,間違いなきことは当然であるが,紹介コマンドの取捨選択,プロミングは短く・分かりやすくなど,推敲に推敲を重ねた。著者らの筆力の不足,浅学非才や独断にもとづく誤った説明の所在が不安でもある。万全の体制で執筆につとめたが,専門の範囲も広く,また奥も深く,山の高さを痛感している。読者の皆様の批判や叱正を得ることができれば著者の望外の喜びとするところである。

最後に,本書の図版作成などでご便宜を賜った新川文登様(新川電機株式会社社長)および同社広報関係者の皆様のご協力に感謝申し上げます。また,出版に際し格段のご支援を賜ったコロナ社に深く感謝の意を表す。

2023年12月
著者代表 松下修己

第1章 Python事始め
1・1 Anacondaパッケージについて
1・2 Anacondaのインストール
1・3 Jupyterノートブックと実行方法
1・4 簡単な計算
1・5 メニューの活用
1・6 本書を読む上での留意点

第2章 Python速習十講
2・1 加減乗除
2・2 関数解析
2・2・1 numpy,sympyライブラリ読み込み
2・2・2 数値化関数
2・2・3 平方根
2・2・4 対数
2・3 複素数計算
2・3・1 虚数単位
2・3・2 複素数の実部と虚部
2・3・3 複素数の絶対値
2・3・4 複素数の位相角
2・3・5 複素数のlog計算
2・3・6 オイラーの公式
2・4 関数のPlot表現
2・4・1 直線・曲線のプロット
2・4・2 波形のプロット
2・5 数式による解析
2・6 数値式の解析
2・6・1 代数方程式
2・6・2 微積分
2・7 配列の階級(class)と配列要素の操作
2・7・1 配列
2・7・2 型について
2・8 行列
2・8・1 行列の記述
2・8・2 ベクトルの演算
2・8・3 行列の演算
2・8・4 行列と配列の操作
2・8・5 線形代数方程式
2・9 グラフィックスの離散系Plot表現
2・10 データの入出力

第3章 PADによるプログラミング技法
3・1 PADとプログラム設計
3・1・1 構造化プログラムPAD
3・1・2 プログラム設計例
3・2 PADとプログラミング
3・2・1 プログラミング
3・2・2 PADに基づくプログラミング演習
3・2・3 PADの利用効果

第4章 Pythonで解く工業数学
4・1 微分方程式
4・1・1 定係数の常微分方程式の解法
4・1・2 変係数の常微分方程式の解法
4・1・3 微分方程式の数値解
4・1・4 1階微分方程式の図式解
4・1・5 2階微分方程式の図式解
4・2 ラプラス変換
4・2・1 関数とラプラス変換
4・2・2 微積分とラプラス変換
4・2・3 ラプラス変換による微分方程式の解法
4・3 フーリエ級数展開の実際
4・3・1 内在するcos/sin波の検出
4・3・2 フーリエ級数展開
4・3・3 離散フーリエ級数展開
4・3・4 離散フーリエ級数展開のパラメータ
4・4 固有値解析
4・4・1 微分方程式と固有値問題
4・4・2 係数行列と固有値
4・4・3 固有ベクトルの直交性

第5章 機械力学
5・1 1自由度系の振動
5・1・1 自由振動
5・1・2 力加振時の強制振動
5・1・3 不つり合い振動
5・1・4 入出力の線形関係
5・1・5 影響係数法バランス
5・1・6 3点法バランス(4 run balance)
5・2 ラグランジュの方程式
5・3 多自由度系の運動方程式
5・3・1 多自由度系
5・3・2 2自由度系の運動方程式
5・3・3 多自由度系運動方程式の行列
5・4 多自由度系のモード分離
5・4・1 固有値問題と固有ペア
5・4・2 直交性
5・4・3 モード分離
5・5 モード解析
5・5・1 モーダルモデル
5・5・2 周波数応答
5・5・3 過渡応答
5・6 非線形振動解析
5・6・1 非線形系の平均法による近似解
5・6・2 時刻歴応答シミュレーション
5・6・3 等傾斜法による図式解

第6章 制御工学
6・1 伝達関数と時間応答
6・1・1 動的システムの表現
6・1・2 ブロック線図の構成
6・1・3 インパルス応答とステップ応答
6・2 周波数応答
6・2・1 周波数応答とは
6・2・2 ボード線図
6・2・3 ベクトル軌跡(ナイキスト線図)
6・3 フィードバック制御
6・3・1 フィードバック制御系の特性
6・3・2 フィードバック制御のPID制御
6・3・3 実用的な位相進み回路
6・4 フィードバック制御系の安定性
6・4・1 安定性の概念
6・4・2 特性方程式・特性根
6・4・3 フルビッツの安定規範
6・4・4 極配置と根軌跡
6・4・5 開ループ特性
6・4・6 ボード線図による固有振動数および安定余裕判別
6・4・7 ベクトル軌跡による安定性解析
6・4・8 閉ループ特性

第7章 私設関数

索引

読者モニターレビュー【 MK 様(業界・専門分野:建設業 )】

本書は大学で学ぶ工業数学をPythonを用いて学習することができる。
対象としては大学初級から中級の内容であり、研究室配属前の大学生や学びなおしの社会人エンジニアなど基本的な大学の数学やプログラミングは一応は学んだことはあるが、具体的な問題をプログラミングを用いて実装したことがない方に向いていると思われる。

本書の特徴はPythonを用いて具体的に手を動かし、式の答えを求めるだけでなくグラフなどを用いて視覚化しながら理解できるようになっていることである。
なぜPythonなのか?はまえがきに記載がある。
工業数学を解く場合、一つは具体的な数値を用いる数値計算ともう一つは文字変数(Symbol)のまま数式処理する場合がある。
Pythonでは前者はNumpy、後者はSympyを用いて無料で解くことが可能であり、本書はそのPythonの良さを存分に活用できるようになっている。
工業数学の題材として、微分方程式、ラプラス変換、フーリエ級数、固有値解析を選び基本的な数式の展開に加え、NumpyとSympyを用いて数値計算と数式処理を学ぶことができる。

本書の構成は初めに後で使用するPythonの基本を学び、続いてPythonを用いた工業数学の演習、そして最後に工業数学の具体的な応用として機械力学(振動工学)と制御工学の演習を学ぶ流れとなっており、前から順を追って学んでいくうち手を動かして工業数学を解くことができるようになるであろう。
本書の内容の中で特に機械力学(振動工学)分野の例題は1質点系の基本的なものからダイナミックマスのような実践的なものまで記載がありそれらの例題を様々な方法で視覚的に理解できる点が良いと感じた。
これらの内容を理解し、具体的にPythonで実装できるようになれば本書以外の振動工学問題にも挑戦できるようになると感じられた。

本書を購入をお考えの方の参考になれば幸いである。

読者モニターレビュー【 計算機ゼミ 様(業界・専門分野:制御工学 )】

本書ではPythonのインストールから制御工学への応用まで幅広く対応している。Anacondaを用いて実験するので環境構築が容易であり、基本文法から解説が始まるのでこれからpythonを学習する人にはぴったりだ。本書の最も特徴的な要素にPADと呼ばれるプログラム設計手法を解説している点にある。設計手法を学ぶことでpythonに限らず活躍する知識を身に着けることができる。また、振動制御も機械振動・電気回路などの基礎的な例題から非線形問題まで取り扱っており魅力的である。マスばねダンパ系の物理モデルを用いた簡単な対象から振動解析が始まるので、制御工学に触れたことのない人にもおすすめである。多自由度モード系についても扱うため振動における基礎部分をグラフなどの視覚的な情報と共に直観的な理解を手助けしているので比較的わかりやすい。制御工学については小難しい証明などはないので、とりあえずPIDなどを使ってみたい人におすすめである。総じてプログラム初心者や制御初心者におすすめである。振動分野についてはかなり重厚なつくりになっているので、制御を一通り学んだうえで取り組むと良いかもしれない。

読者モニターレビュー【 かい 様(業界・専門分野:制御工学 )】

本書は、振動工学と制御工学をPythonで手を動かしながら学ぶことができる。これは初学者から中級者が対象である。

第1章ではPythonの環境構築及び使いかたに書かれている。画像に番号が振られているため、誰でも簡単に環境構築ができる。第2章ではPythonの使い方が書かれており、初心者でもこれを見れば基礎的なことができるようになる。第3章ではPADの書き方を学ぶことができ、プログラムを記述する際に思考を整理する手段を身に着けることができる。以前、私はプログラムの思考整理にフローチャートを用いていたが、それと比べ簡潔かつコンパクトに書け、見やすくなるので次回からはPADを使おうと思う。第4章では、振動工学や制御工学に必要な数学について説明がされている。約40ページという少ないページ数ではあるが、図を多く用いているため簡潔かつ明瞭に書かれており、数学が苦手な人でもわかるように書かれている。第5章は振動工学について書かれており、線形の振動解析だけでなく、非線形の振動解析についても学ぶことができる。1自由度系の振動から多自由度の振動に拡張されていくので、本書で初めて振動工学を学ぶ人でもわかりやすいと思う。第6章では制御工学(古典制御)について書かれている。特徴的なのは一般的な古典制御の本では安定性の後にPID制御について言及されるが、本書は逆になっていることである。PID制御を先に説明した方が実用的ではあるが安定性を知らなければ適切に設計できないため、安定性を説明してからPID制御について説明した方がよいと思われる。また、古典制御では非線形の振動制御も知りたいと思ったため、著書の方には改訂版を出版する際に現代制御や非線形制御についても言及してほしい。第7章では、著者が作成した関数の解析がなされている。

本書をご購入予定の方々のご参考になれば、非常に幸いである。

読者モニターレビュー【 JAZZCAT 様(業界・専門分野:鉄鋼機械エンジニアリング )】

レビュアーは、松下、藤原、保手浜各氏による著書「Pythonの基本と振動・制御工学への応用」をレビュー致しました。その結果を箇条書きにて、下記致します。

① まず、本書の目的は、まえがきに書かれている通り、「ソフトウェア紹介本」です。タイトルは「Pythonの基本と振動・制御工学への応用」と書かれており、レビュアーは、振動や制御についても、基本事項から展開され、丁寧な数式変形や、解の物理的(もしくは工学的)な意味合いの説明がされているように感じましたが、あくまでも上記の通り、「ソフトウェア紹介本」であり、かつ、それ(本書ではPython)を利用して振動や制御の基本的な問題や具体例を解いていく書籍ですので、誤解されないよう、お気をつけ頂ければと思いました。そのため、後述致しますが、数学や振動、制御に関する基本事項の説明は、最小限にとどめられ、簡潔にまとめられている感があります。ある程度の前提知識があることが条件になっているかと思います(まえがきには特に、本書を読む上で前提条件などは書かれておりませんが)。

② 本書はプログラム言語として、Pythonを利用していますが、これは非常に良いことだと感じました。その理由は、次の3点です:
a) 「無料」で利用できる点(以下に示す理由を加味し、コスパが非常に良い)

b) 数値計算およびその解の図表示が可能であること、および、数式展開が可能であること→有料ソフトであるMATHMATICAやMATLABといった数式処理ソフトや、制御系に特化した専用ソフトの機能を兼ね備えている、とも解釈できると思います。上記2つのソフトはいずれも、高価なもので、個人ではなかなか所有することが難しいものと思います(上記2つのソフトのフリー版もありますが、それぞれ単一の機能のみを有しており、2つの機能を同時に満たしているものは無いと思います)。

c) Pythonと近年発達が著しいAIとの相性が非常に良い(Pythonで学ぶ・・・といった書籍が、ここ最近、多くなってきていることは、周知の事実かと思います)ため、今後の 理工系のプログラミングは、Pythonが主流になるのではないか?と考えられます。実際に、私が勤務する会社では、開発部隊がPythonを導入し、成果を上げています。また、本書のまえがきにも書かれている通り、「仕事の仕方を変貌させる可能性がある」とありますが、まさにその実例とも考えられます。

③ 以下は、相反する記述であることは、レビュアー自身が承知の上であえて記載致します。
まえがきに書かれている通り、「数式・計算に悩まされることより、図表を用いてもっと上流側の物理的考察や力学的解釈に注力した講義を展開したい」とあり、著者らは、非常に本質的な部分を考えられた上で、本書の執筆をされているものと思い、非常によいと感じました。
レビュアーは、数式モデルやその変形は、対象とする現象を物理モデルに置き換え、そこから導かれるものと考えています。よって、本質的な部分は、対象とする現象を物理モデルに置き換える部分にあると思います。但し、物理モデルに物理学の知見を適用し、数学モデルが得られたとしても、その数式の基本的な解法や変形のやり方などは、ある程度知っておく(できるようにしておく)必要があると思います。その理由は、以下の通りです:
a) 変形の過程で、様々な数学を駆使することができ、それだけでも勉強になる

b) 得られた解から、再度、物理モデルとつき合わせることで、物理的な解釈ができ、対象としている現象の本質的な理解ができるまた、現場やPythonがない環境では、人の手と脳だけが、唯一の手段になるためでもあります(これは、厳密に解が出なくても、ある程度の解の方向性が分かれば良い、という意味です)。

④ 本書の構成は、本書の紹介用HPを参照頂ければと思いますが、第4章~第6章が、主要課題である、工業数学、機械力学、および制御工学の各論になっています。
a) 第4章のPythonで解く工業数学で、「(常)微分方程式」、「ラプラス変換」、「フーリエ変換」、「固有値問題」の4テーマを扱っています。この中に、偏微分方程式が含まれていませんが、第5章で扱う機械力学の中に、連続体の振動が含まれていないので、不要かと感じました。
上記4つのテーマは、機械力学および制御工学の基本的な事項で扱う数学がすべて含まれている(逆に言えば、知らないと各論を理解することが難しい)ので、特に問題は無いものと思いました。但し、①でも記載した通り、基本事項の説明は、最小限にとどめられ、簡潔にまとめられている感があるため、大学1、2年次程度の「物理および数学の基礎的」な知識を持っている必要はあると思いました。

b) 第5章および6章については、本書のメインとも考えられる章です。機械力学もしくは制御工学を単一で扱う書籍は、数多く販売されているかと思いますが、この2つを同時に扱っている書籍はあまり多くは無いと思います(あったとしても、機械力学関係もしくは制御工学関係が、申し訳程度に記載されているレベル)。そのため、本書は希少な書籍であると思います。

c) 第4章も含めて、Pythonを使わなくても、工業数学、機械力学、制御工学の(必要事項が簡潔にまとめられている)テキストとしても、大いに利用可能な書籍であると思いました。特に、時間をとることが難しい会社員の方々や、短時間で上記3分野を復習したい学生や社会人の方々にも、非常に有益な書籍であると感じました。なお、例題はPythonを使って解かれていますが、必要に応じて、第1章から第3章を読んで、理解した上で、例題の内容(プログラムの中身の理解)を吟味すれば良いものと思いました(Pythonはあくまでもツールとして利用すると考えるべき、とレビュアーは考えています。理論の理解なくして、ツールを使いこなすことは、到底難しいのではないかという考えからです。また、後述しますが、理論の理解ができていない方は、Pythonのプログラムを作成する上で欠かせない、PADの作成も難しいと思います)。

⑤ 第1章から第3章は、Pythonの基本事項とプログラムの作成方法(PADの利用)について、記載されています。上述の通り、時間をとることが難しい読者は、第4章からの本質的な部分から読み始め、必要に応じて、第1章から第3章に戻って、理解を深めていく方法も良いのではないか、とレビュアーは思いました。これはPythonに限ったことではないですが、プログラムを理解する、もしくは、自分で作成するためには、自分自身にそのプログラム言語をしみこませ、自由自在に使いこなせる必要が不可欠です(レビュアーも大学時代や大学院時代に経験済みです)。それにより、そのプログラムをより深く理解することが可能になると思います。
一例として、プログラムをコンパイルした際に、バグなどが出て、プログラムが停止してしまった場合、何が悪いのかが、即座に分からないことがあったとします。その際、プログラム言語が体にしみついていれば、どこが悪かったのか、大まかな当たりをつけることも可能となります。

⑥ 第3章について、⑤とは別に記載致します。これは、本書の特徴の1つと考えられますが、従来のプログラム(例えば、FORTRANやJAVAなど)を利用した工学書では、フローチャートを用いて、プログラムをどのように組むかを説明しているものが多いように感じました。
本書では、PADを利用し、フローチャートと同様にプログラムをどのように組むかを検討した上で、プログラムの作成を行っています。ここまでは、従来のテキストと変わりはありませんが、第1章から第3章では、随所に分かりやすいコメントが付記されており、初学者やプログラムを苦手とする方々への非常に丁寧な配慮がなされていると思いました。また、第4章以下では、プログラムの横にPADの設計図が付記されており、どのようにしてプログラムを組んだのか、一目瞭然で理解できる点が、非常に丁寧で分かりやすいと感じました。また、分かりにくい点についてはさらに、コメントが付記されているので、特に戸惑うことなく、理解を進めていけるものと思いました。

⑦ 以下、各章ごとにレビューした結果を記載致します。上記①~⑥と重複した記述となっている部分もありますが、ご了承願います。

第1章:Python事始め
a) Pythonの未使用、未経験者にも、インストールの方法から、計算の実行方法まで、図に番号を付記して、丁寧に解説されており、分かりやすいと思いました。

b) 計算プログラムにも細かく丁寧なコメントが付けられており、分かりにくい点や疑問に思った点がすぐに解消されると思いました。

第2章:Python速習十講
a) 第1章に記載した内容が、第2章でも踏襲されています。分かりやすいと思いました。

b) 本章は、実際に計算を実行するための項目なので、読者自身で1つずつプログラムを実行し、答えを確認する方が、身につきが早いものと思いました。

c) プログラムを実行した後の解のグラフ表示の方法、データの出力方法も分かりやすく、見やすく説明されております。

d) 時間を取ることが難しい読者の方は、第4章以降を先にお読み頂き、必要な時に本章に戻られても良いのではないかと思いました。

第3章:PADによるプログラミング技法
a) プログラムの設計という、他書にあまり類をみない特長があり、そこから、プログラムの作成を行っている点が、基礎に則っており、非常に評価できる書籍だと思いました。類書では、「理論の説明→理論に則ったフローチャートの作成→プログラム提示」で終わってしまっており、具体的な解説やコメントが無いように見受けられます。本書では、理論(本書では、具体的な例題を通じて)をどのようにプログラム化するか、という点に重点をおいているところが良いと思いました。

b) 第4章以降も同様ですが、PADとPythonのプログラムを併記し、比較しながら、読者に理解を促している点がとても良いと思いました。これも他書にはあまり類をみない特長だと思いました。

第4章:Pythonで解く工業数学
a) 第5章以降で必要となる最低限の数学の知識を扱う章です。上記④a)でも触れましたが、本章では、機械力学および制御工学の基本的な事項で扱う数学がすべて含まれている(逆に言えば、知らないと理解することが難しい)と思いました。その理由は、下記の通りです:
(第5章)
機械振動系では、「常微分方程式の解析解と数値解」が求められる必要があります。解析解については、PCが無くても、その場で計算が可能であること、また、読者自身で理論を用いて現象を数学的、物理的に説明することができることが何よりも重要なためです。数値解については、解析解が求められない場合(例えば、現象が非線形の場合など)には、数値解で現象を説明する必要があります。そのために、本書では、Pythonを利用し、数値解の導出を行っています。さらに、機械振動系が多自由度や連続体、具体的な機械(例えば、回転機械を精密に解析したい場合など)となった場合には、モード解析、モードの直交性といった概念が必要となります。そのためには、「固有値問題」を解く必要があります。上記は全て、本章に含まれております。

(第6章)
制御系(特に、古典制御)では、「過渡応答と定常応答」が求められることが重要であり、そのために、微分方程式を解ける必要があります。そのために、第5章があるものとレビュアーは考えています。しかしながら、過渡応答は十分時間が経過すれば、その影響はほとんど無くなり、定常応答のみが支配的となります。微分方程式から定常応答のみを導出するのであれば、ラプラス変換とフーリエ変換の関係を知ることが重要となりますので、その点で、本章に、ラプラス変換の項目が含まれているものと思います。また、ラプラス変換は、古典制御で最も重要と思われる「ブロック線図の作成」に必要不可欠なものです(微分方程式をラプラス変換することで、微分方程式を代数方程式という極めて扱いやすいものに変換することができ、複雑な制御系を構成する場合も、代数演算で扱うことができる重要なものです)。

b) 本章に出てくる数式などは、Pythonのプログラムを実行する前に、読者自身の手で可能な限り導出できるようにすることが優先かと思いました。その理由は、理論の理解とそこから導出される数式を解くことの大変さを知ることで、Pythonを利用する意味をより深く理解することができるからです。

c) 但し、本章での数学を扱う具体的な根拠(機械力学や制御工学での必要性)が示されていないようにレビュアーには感じましたので、時間をとることが難しい読者は、一読目は、「このような数学が必要になるのか」といった感じで読み進め、早めに続章を読まれる方が、より本書の核心に迫れるものと思いました。必要に応じて、本章に戻り、必要となる数学を理解される方が良いと思いました。

第5章および第6章:機械力学および制御工学
扱われている内容は、必要かつ十分なもの(詳細は、本書の紹介用HPを参照願います)だと思いました。但し、記述されている内容は、あくまでも、Pythonを利用して、いかに解を導出するか、という点を重視していますので、簡潔な説明となっていると思いました。よって、初学者は本書とは別に1+1冊(機械力学および制御工学を1冊ずつ)、適切なテキストを準備され、ある程度の基礎知識を持った上で、本書に望まれる方が良いものと思いました。

第7章:私設関数
主に、第5章、第6章のPythonプログラムで必要となる、著者自身で作成されたプログラムの説明が記載されています。

索引
Pythonのコマンドがまとめられているので、必要に応じて、辞書的に活用することができ、非常に有用なものと思いました。

以上、簡単ではありますが、本書をレビューした結果を記載致しました。本書をご購入予定の方々のご参考になれば、非常に幸いです。

松下 修己

松下 修己(マツシタ オサミ)

【略歴】
1967年3月 九州工業大学制御工学科卒業
1969年3月 九州工業大学院工学研究科機械工学専攻修了
1972年3月 東京大学大学院工学系研究科博士課程 修了
学位 東京大学 工学博士(1979年7月)「摩擦クラッチ結合過程の振動について」
1972年4月 日立製作所 機械研究所入所
1983年8月 同 主任研究員
     圧縮機,タービン,遠心機などの回転機械の振動研究に従事
1990年4月 日本機械学会論文賞受賞 機論集53-46C(1987-12),pp.2453-2458
1990年9月 日立製作所 土浦工場 主任技師の異動
磁気軸受形遠心圧縮機の開発プロジュエクトに従事
1993年4月 防衛大学校 機械工学科 教授に転出
     機械力学・振動工学,制御工学関連の研究と教育に従事  
2010年4月 防衛大学校 定年退職 
2010年5月 MyROT研究所設立,コンサルティング業務に従事,今日に至る
2011年6月  ASME論文賞受賞 J.of Gas Turbine and Power,Vol.113, 022501-1〜8(2011-2)
2017年4月 春の叙勲 瑞宝小授章を受章

【資格】
2008年11月 ISO準拠 機械状態監視診断技術者(振動)Category 4

【学協会活動】
1991年3月~1994年3月 日本機械学会v_BASE研究会設立主査
        振動問題データベース集の出版
1997年~2010年 ISO TC108/SC2/WG7 「磁気軸受形回転機械の振動」設立 主査
2002年~2005年 NEDO:磁気軸受技術のISO国際標準化プロジェクト 主査

松下修己のおすすめ本ランキング

藤原 浩幸(フジワラ ヒロユキ)

保手浜 拓也(ホテハマ タクヤ)

書評掲載 機械設計 2024年5月号 掲載日:2024/04/10

機械設計 2024年5月号 Sekkei Book Review(p126)に書評掲載いただきました。

掲載日:2024/03/21

日本ロボット学会誌2024年3月号

掲載日:2024/03/13

「計測と制御」2024年3月号

掲載日:2024/02/13

日本機械学会誌2024年2月号

掲載日:2024/01/30

日刊工業新聞広告掲載(2024年1月30日)