🏠 🔋C1 Laboratory
令和7年7月15日 (火)
情報処理概論 🏫 Web Class files syllabus 52210 * 情報機器の準備 ウェブ講義の接続
🔋 C1 伊藤智博(ITO Tomohiro)

演算処理と数式処理~微分方程式はコンピュータで解こう~

山形大学  理工学研究科(工学系)  化学・バイオ工学科 
🔋 C1 伊藤智博(ITO Tomohiro)

数字がなくても、量で数を表現できます。 長さは、認知可能な量なので、 モノサシで量から量へアナログ対応させ、数から数への計算をしました。 それが計算尺です。


電卓

  2 電卓

置数のための キーボード、表示のためのディスプレイがあり、 加算、減算、乗算、除算などの演算機能を備えています。 テンキーで数字であらわしたひとつの数値データを置数し、演算キーを使って、デジタル計算ができます。 量の計算をするときは、あらかじめ量を単位で割って、数値データとして入力します。


数値計算と数式処理


計算の例

  2 計算の例
概念種類
統計計算 測定値 に演算を施して、 平均標準偏差などの統計量を求めます。
数値計算 数に演算を施して目的の数を得ます
構造計算
原価計算

数値の表現と形式

  3 デジタル記憶、記録での数値の表現
プログラミング言語
整数 整数 Basic (Int), C(int),
単精度浮動小数点 実数 Basic (Single), C(float),
倍精度浮動小数点 実数 Basic (Double), C(double), Python (float)
複素数 Python (complex)

測定値などを表す数字のうちで、位取りを示すだけの0を除いた、意味のある数字を有効数字と言う。 たとえば、1.234g±0.012gという測定結果があり、これを 不確かさ を無視して1つの値y=1.234gとして表すことを考える。 不確かさ を考慮した値はおおむね1.222g~1.246gの範囲にあると考えられる。 1 )

このことは、測定値に限ったことではありません。 たとえば、円周率という数には、確かな値がありますが、数字で表現しようすれば、 3.14あるいは3.14159という具合に表現しなければなりません。 やはり有効数字が存在するのです。

さらにこれは10進数に限ったことではありません。 コンピュータの内部では、2進数で表現されることが多くあります。 その表現形式もさまざまです。 単精度浮動小数点や倍精度浮動小数点といった形式があるのは、そのためです 2 )

倍精度浮動小数点は、実数を64ビットで表現します。 実数は無限集合です。それに対して64ビットの表現は264の有限集合です。 実数とデジタル数値を1:1対応させることはできません。 必ず量子化誤差が入ります。

デジタルコンピュータのようなデジタルデバイスでは、 データは、 デジタル情報として記憶または記録されます 3 )


数式の表現

TeXとMathML

  4 TeXとMathML
項目 html MathML TeX ASCIIMath
変数 x x $$x$$
R R $$R$$
Cs C s $$C_\mathrm{s}$$ 量名では、下付き文字は、立体文字(ローマン体)を使います。 MathMLでは、mathvariant属性に"normal"を指定します。 TeXでは、\(C_\mathrm{s}\)とするのに、_\mathrm{s}などと表現します。
化学式 CO2 C O 2 $$\mathrm{CO}_2$$
ギリシャ文字 α,Ω * $$\Omega,\vartheta$$ * pythonmatplotlibなどでギリシャ文字を \u03b8や \N{greek small letter theta} のように 別文字列 ** を使います。
👨‍🏫 TeX形式(テフ形式) 👨‍🏫 MathML 👨‍🏫 数式の表現、量の表現 👨‍🏫 ウルフラムアルファ(WolframAlpha)

ラテン文字(ローマ文字)

  5 ラテン文字(ローマ文字)
日本語 html
A(エー)a(エー)
[数学] a定数
[物理] a加速度
[SI基本単位] A アンペア
[SI接頭語] a アト(atto)10-18
B(ビー)b(ビー) [数学] b定数
C(シー)c(シー) [数学] c定数
[物理] c 光速度
D(ディー)d(ディー)
[数学] d 微分
[物理] d 距離 distance
E(イー)e(イー)
[数学] e ネーピア数
[数学] e 素電荷 (elementary charge)
[物理] E エネルギー energy
[電気化学] E 起電力 electoro motive force
[電磁気] E 電界 electric field
F(エフ)f(エフ)
[数学] f 関数(function)
[物理] f 周波数(frequency)(例ω=2πf)
[物理] F 力(force)
G(ジー)g(ジー)
[物理] G ギブスの自由エネルギー 【例】G=H-TS
H(エイチ)h(エイチ)
I(アイ)i(アイ)
[数学] i 虚数単位(image)
[数学・情報] i 序列番号(index)
[物理] I 強度(intensity)、 電流
J(ジェイ)j(ジェイ)
[電気] j 虚数単位(※iは電流と紛らわしいので)
[電気化学] j 電流密度(※iは電流と紛らわしいので)
I(アイ)i(アイ)
[数学] i 虚数単位(image)
[数学・情報] i 序列番号(index)
[物理] I 強度(intensity)、 電流
K(ケー)k(ケー)
[単位] K
[物理] kB ボルツマン定数
*

物理量記号 は, ラテン文字 または ギリシャ文字 の 1文字を用い,イタリック体(斜体)で印刷する。その内容を さらに明確にしたいときには,上つき添字または下つき添字(あるいは両方)に固有の意味をもたせて用い,さらに 場合に応じて,記号の直後に説明をカッコに入れて加える。 単位 の記号はローマン体(立体)で印刷する。物理量の 記号にも 単位 の記号にも,終わりにはピリオドをつけない 4 ) 5 ) *


ギリシャ文字

  6 ギリシャ文字
日本語 html
Α(アルファ)α(アルファ) Α(Alpha)α(alpha) α崩壊
Β(ベータ)β(ベータ) Β(Beta)β(beta) β崩壊
Γ(ガンマ)γ(ガンマ) Γ(Gamma)γ(gamma) Γ関数 、γ崩壊 、活量係数γ
Δ(デルタ)δ(デルタ)(デルタ) Δ(Delta)δ(delta) 差分Δ
Ε(イプシロン)ε(イプシロン) Ε(Epsilon)ε(epsilon)
[数学]微少量、ε-δ論法
[統計]誤差
[電磁気] 誘電率ε
Ζ(ゼータ、ツェータ)ζ(ゼータ、ツェータ) Ζ(Zeta)ζ(zeta)
[制御] ダンピング係数
[電気化学]ゼータ電位
Η(イータ)η(イータ) Η(Eta)η(eta)
[物理] 粘性係数
[電気] 電力効率・電源効率など
[電気化学]過電圧
Θ(シータ)θ(シータ) Θ(Theta)θ(theta)
[数学] 角度
Ι(イオタ)ι(イオタ) Ι(Theta)ι(theta)
Κ(カッパ)κ(カッパ) Κ(Kappa)κ(kappa)
[電気化学] 導電率κ
[数学] 曲率
[物理] 比熱比
Λ(ラムダ)λ(ラムダ) Λ(Lambda)λ(lambda)
[電気化学] 当量導電率
[数学] 固有値λ
[プログラミング] ラムダ式
[物理] 波長λ ・弾性率・熱伝導率
Μ(ミュー)μ(ミュー) Μ(Mu)μ(mu)
[全般] 単位の接頭辞(マイクロ)
[化学]化学ポテンシャルμ
[統計] 母平均
[物理] 透磁率・摩擦係数・ずり弾性率・粘性係数
Ν(ニュー)ν(ニュー) Ν(Nu)ν(nu)
[電磁気] 周波数(振動数)
[物理] 動粘性係数
Ξ(グザイ、クシー)ξ(グザイ、クシー) Ξ(Xi)ξ(xi)
Ο(オミクロン)ο(オミクロン) Ο(Pi)ο(pi) ο株
Π(パイ)π(パイ) Π(Pi)π(pi) 総乗(総積)Π 円周率ππ軌道(結合)
Ρ(ロー)ρ(ロー) Ρ(Rho)ρ(rho) 抵抗率ρ
Σ(シグマ)σ(シグマ) Σ(Sigma)σ(sigma) 、ς
[化学] σ軌道(結合)
[数学] 数列の和、総和Σ
[統計] 母標準偏差
[電気] 導電率
[物理] 応力・ポアソン比
Τ(タウ)τ(タウ) Τ(Tau)τ(tau)
[電気] [制御] 時定数
Φ(ファイ)φ(ファイ) Φ(Phi)φ(phi) 位相角 φ
Χ(カイ)χ(カイ) Χ(Chi)χ(chi) χ2分布
Ψ(プサイ、プシー)ψ(プサイ、プシー) Ψ(Psi)ψ(psi) 波動関数(Wave Function) ψ
Ω(オメガ)ω(オメガ) Ω(Omega)ω(omega) 電気抵抗の単位 Ω (オーム) 、角周波数ω

pythonmatplotlibでは、 TeXが使えます。ギリシャ文字は \+unicodeで指定します。

物理量記号 は, ラテン文字 または ギリシャ文字 の 1文字を用い,イタリック体(斜体)で印刷する。その内容を さらに明確にしたいときには,上つき添字または下つき添字(あるいは両方)に固有の意味をもたせて用い,さらに 場合に応じて,記号の直後に説明をカッコに入れて加える。 単位 の記号はローマン体(立体)で印刷する。物理量の 記号にも 単位 の記号にも,終わりにはピリオドをつけない 6 ) 7 ) *


数式の例

  7 数式の例
数式 意味 説明
y = a x + b 一次関数 直線

数に量の意味はありません。 変数 には、x,y,zのようにアルファベットの後ろの方を使い 定数には、a,b,cのようにアルファベットの前の方を使います。 デカルト座標系では、 図形を表します。 座標の数に量を割り当てたものをグラフやチャートと呼びます。

p V = n R T
気体の状態方程式 1662~1802 左辺 pV仕事、 右辺nRTが熱量で、 エネルギー収支を表す量方程式です。 量方程式なので量を単位で割った数値を代入したり求めたりします。
E = E0 - RT nF ln K
ネルンストの式 1889
S = k B ln W
ボルツマンの式 1877

数式には、インドアラビア数字、 ラテン文字ギリシャ文字、記号など多くの文字が現れます。 文字の多くは、数を表現します。量を数で表現している場合もあります。

数式は、量との量の関係を表現しているので、グラフにできます。

数式で数値を求めるときは、量を単位で割ってから代入します。このような数式を量方程式あるいは 量式*と言います。 単位が指定された数式を 数値方程式 と言います。単位の定義が変わると 数値方程式 の係数も変わります。 文献に記載された 数値方程式 を使う場合は、単位の定義がいつのものなのかを確認する必要があります。

コンピュータ上では直接数式を表現できないため、 TeXを使います。 MathMLを使います。

👨‍🏫 数式の表現、量の表現 👨‍🏫 ウルフラムアルファ(WolframAlpha)

式の要素

  8 式の要素
要素 数式 プログラミング言語
C python
変数 x
public double x;
関数 f
double f(double x);
関数と従属変数 y = f ( x )
double f(double x) {
	return y;
}
定義域 x=0: y = f ( x )
x>0: y = g ( x )
C では、VBのselect構文のように switch構文では、定義域を指定することはできません。 結局if構文をネストさせることになります。 python では、switch構文はありませんが、 elif構文でネストさせずに定義域を指定できます。
if x == 0:
	print('0')
elif x < 0:
	print('負')
elif x > 1:
	print('正')
else:
	print('発散') 
S = i = 1 n k i
for ( i = 1; i < n; i ++ ) {
	s += k[i];
}
for i in range(1, n):
	s = s + k[i]
*

Phthon (パイソン)は、多様なデータ構造が組み込まれているので、データ処理しやすい言語仕様です。 Anaconda(アナコンダ)や、Google Colaboratoyなどの開発環境があります。 Phthonには、数値計算ライブラリNumPyがあります。 NumPyは、CやふFORTRANで、実装されていて、高速で実行できます。 ほかにも、Matplotlib(グラフ描画ライブラリ) pandas(データ分析ライブラリ) TensorFlow(機械学習ライブラリ) OpenCV(画像処理ライブラリ) など便利なライブラリが多数あります。

数式処理ソフトウェア

Computer algebra, コンピュータを用いて数式を記号的に処理するソフトウェア

Mathmatica, Symbolic Math Toolbox MuPAD for MATLAB, SageMath

Stephen Wolfram(スティーブン・ウルフラム)


常微分方程式

RC並列+R直列(ランドルス)回路の定電流過渡応答

  3 🖱 RC並列+R直列(ランドルス)回路の定電流過渡応答

RC並列直列回路の定電圧過渡応答

  4 133 RC並列直列回路の定電圧過渡応答
© K.Tachibana
ST2023

偏微分方程式

  9   偏微分方程式
分類 用途
一般
楕円型(elliptic) Laplace方程式
Poisson方程式
双曲型(hyperbolic) 🖱 波動方程式 波、量子力学
放物型(parabolic) 🖱 拡散方程式 物質移動、 イオン移動熱移動

波動方程式

  5 波動方程式
© K.Tachibana

拡散方程式

  6 拡散方程式
© K.Tachibana * , C1 Lab.

アナログとディジタルの相互変換

たとえば4bitで色を表現するとしたら、24=16通りに表現できます。

A T G C A T G C A T G C A T G C

でも2bitしかなかったら、22=4通りしか表現でません。

A T G C A T G C A T G C A T G C

ディジタル化とはそういうことです。


  10 アナログ表示とデジタル表示
項目 デジタル アナログ
表現
18:33
装置例 デジタル時計
データロガー
ファンクションジェネレータ
アナログ時計
ペンレコーダ
発振器
特徴 数字(文字

測定数値を正確に表現

角度長さ

連続的で微妙な変化を一目で直感的に表現

エラー・ミス 読み違え、 桁間違い、単位間違い ほぼなし
精度 有限(桁数) 無限
時間遅れ※1 あり なし
媒体 間のコピー 容易・高速
順序※2 あり なし
約束事 あり なし
曖昧さ なし あり
感覚 論理的 直感的
画像
音声

※1. 地上デジタル放送になって、テレビから時報が消えました。 それはデジタル情報には、時間遅れが必ず生じるからです。

※2. デジタルを送るには順序が必要です。エンディアンやバイトオーダーなどと言われます。 シリアライズと同等の概念です。 本質的には言語の線条化と同じ概念です。

https://car-me.jp/articles/14046 http://www.mmjp.or.jp/south/06.html

127
量子化ノイズ
©K.Tachibana
https://edu.yz.yamagata-u.ac.jp/Public/56307/_14/Quantization.asp

ビット深度と解像度

  7 347 ビット深度と解像度

ビット深度が低いと 数が少なくなります。 ヒメシャラの花の は、背景の色と区別がつかなくなります。 解像度(画素数)が低いと矩形(ブロック)になります。 ブロックノイズ は、解像度(画素数)の 量子化ノイズです。 ビット深度が低く、解像度(画素数)が低いほど、情報量も小さくなります。


高速フーリエ変換の応用の歴史

  11 デジタルフーリエ変換(DFT)の応用の歴史
**
年代方法
1811 フーリエ変換
1957 二重積分ADC 数値計算へ
1965 FFT *1 *2
1970~ フーリエ変換赤外分光法(FT-IR)
1970~X線CTスキャン
1970~FRA *
1972 デジタル録音 (13bit・47.25kHz)
1981 ビデオ用ADC (8bit,30MHz)
1995~jpeg画像 *
1995~mp3音声 *
1999 ADSL(50.5Mbps) *
1999 2004gメール(15Gbyte) *
2006~第三次AIブーム *

フーリエ変換-時間領域と周波数領域-

  8 🖱 時間領域(左)と周波数領域(右)

横軸が周波数のグラフを、 スペクトルと言います。 フーリエ変換は、横軸を時間から、周波数に変換する方法です。 デジタルコンピュータの発展で、さまざまな応用ができるようになりました。


フーリエ変換と行列演算、DFT

  9 168
フーリエ変換と行列演算
©K.Tachibana

時間領域と周波数領域 を変換する フーリエ積分を、離散量に置き換えて近似したものをデジタルフーリエ変換(DFT)と言います。 DFTは行列演算として表現できます。


高速フーリエ変換とその応用

フーリエ変換というのは、音を聞いて音程を言うようなものです。 音は時間に対する圧力変化です。音程は周波数に対応します。 このように時間の関数を周波数の関数に変える計算方法がフーリエ変換です。 高速フーリエ変換とは、その計算回数を減らしたアルゴリズムです。


音のスペクトル

  10 音のスペクトル

演習:マセマティカの実習

協力:ウルフラムリサーチ

セミナー資料

微分積分,微分方程式の数式処理

微分や導関数,極限値,不定積分,定積分,微分方程式の解法はマセマティカできる時代です.

大学院入試問題を解いてみよう

山形大学大学院理工学研究科の過去問を解いてみよう.

音楽を奏でるマセマティカ

マセマティカは,楽器の演奏もできます.MathematicaのSoundSoundNote という組み込みシンボルを使います.

 Sound[{{SoundNote["E5", {0, 0.75}, "Piano"], SoundNote["C", {0, 0.5}, "Piano"]}, 
       {SoundNote["D5", 0.25, "Piano"], SoundNote["E", {-0.25, 0.25}, "Piano"]}, 
        SoundNote[{"C5", "G"}, 0.5, "Piano"]}]
        
音楽を奏でるマセマティカ

AIとマセマティカ

Mathematicaでディープラーニングを行うことができるようです. AIやディープラーニングについては,第11回の授業で触れる予定です.

RC並列回路の過渡応答解析やボード線図

ラプラス演算子を使って伝達関数を求めよう.ラプラス演算子を用いると,
コイル = Ls, 抵抗 = R, コンデンサ=1/Cs と記述できる. オームの法則をつかって伝達関数を求める.例えば,RC並列回路の伝達関数は,
1/(Cs + 1/R)と表せる.

関連科目は,「数学I 微分方程式とRLC回路」,「数学IV ラプラス変換とラプラス演算子」,「情報エレクトロニクス概論 交流回路」に関連するので,伝達関数やRCL回路の詳細はここでは触れない. RCL回路のシミュレーションは,マセマティカを使いましょう.

下図はクーロンポテンシャルとHOMOのイメージです。 クーロンポテンシャルは原子核のまわりにできるへこみみたいなものです。 電子はそこにたまる水みたいなものです。 マセマティカでは、 このような3Dイメージを作成できます。

Fig クーロンポテンシャルとHOMOのイメージ( マセマティカによる可視化)

Excelを使った予測シミュレーション

日本における新型コロナウイルスの感染者数の予測シミュレーション

新型コロナウイルス感染患者数予測

2月13日からの患者数をシグモイド曲線で最小二乗法でフィッティングして患者数を予測しました。 あくまで現時点のデータ数からの予測なので、予測が大幅にずれることもあります。

新型コロナウィルスによる影響課題

【演習】Mathematica Onlineを使ってみよう

Mathematicaには,ウェブベースで使えるOnline版がある. Wolfram Research社は,新型コロナウイルスに対応として,工学部において,Mathematica Onlineが利用できるようになりました. すでに,「Your access to Mathematica | Online Unlimited Site」という件名の招待メールが学生さんに届いると思います. ラインセス管理者からの下記の手順に従ってサインアップして,微分方程式を解いてみよう.大学院入試の過去問は,どうかなぁ.

(1)https://account.wolfram.com/login/oauth2/sign-in にアクセスします
(2)Create One からメールアドレス(yzまたはst)を登録します
   このとき 姓、名、所属等の必要事項を入れます
   所属機関: Yamagata University
(3)Wolfram Research から招待メールが届きます
   招待メールからアカウントをアクティベートします
(4)https://www.wolframcloud.com/ にログインすればMathematica Onlineが
  使用できます
        

参考文献


QRコード
https://edu.yz.yamagata-u.ac.jp/Public/52210/52210_09.asp
名称: 教育用公開ウェブサービス
URL: 🔗 https://edu.yz.yamagata-u.ac.jp/
管理運用 山形大学 学術情報基盤センター

🏫 学問の自由 は、心の自由。 大学では、精神は自由であらねばならない。(松木健三)
📆 20250711 リチウムイオン二次電池 東京・きゅりあん
名称:C1ラボラトリー
URL:🔗 https://c1.yz.yamagata-u.ac.jp/
管理運用
山形大学 工学部 化学・バイオ工学科 応用化学・化学工学コース
C1ラボラトリー ( 伊藤智博立花和宏 ) @ 米沢

© 2002 -2025 T.Ito , K.Tachibana * , C1 Lab. ALL RIGHTS RESERVED.