Excel VBA で学ぶ物理・数学計算問題


 物理・数学の問題は、VBAの数値計算に慣れれば、式の理解を深められる。理解不十分ではプログラムが作れない。 方程式の厳密解は、実際の設計計算問題に適合しない、利用できない場合が多い。解がない場合、差分法や有限要素法 のような数値解法で近似解を求める。パソコンによる数値計算は、設計業務とその省力化に役立つ。 Excel VBAによる計算例を学ぶ。

問題 ~ 円柱切断面の面積
  鉛直円柱を斜め45度に切断した断面の面積を計算し、その断面形状を図示せよ。 水平に切断した円断面は、
円の半径 r=5.642cmで、断面積 Sは,約100cm2となる。
解答
  円柱切断面が円形となる切断角度α=0の面をxy座標、α=45度の切断面、楕円となる面をx1y1座標とする。
α=45度なのでx軸上の半径rは、√2 rとなり、y軸上の半径は変化しない。
楕円の面積S1=πr(√2 r)≒√2 S =141.142 cm2。

VBAプログラム例 ~ 円柱断面.xlsm
切断面の角度α=0の面で円の方程式は、x2+y2=r2
α=0度、 円断面上の点P(x=r,y=0) & 円周上の点Q(x,y)と原点を結ぶ線がx軸となす角iとすれば、点Qのy=r*sin(i)
点Qに対応する角度の異なる円柱面、切断面上の点Q1の座標y1=y=r*sin(i)でx 1=r/cos(α)。α=45度でx 1=√2 r
S1は楕円の面積公式から円の面積の√2倍となる。



 図1 Excel 入力データ        図2 計算結果の図
以下のプログラム中 ”' ”は、説明のため、注釈行を意味し計算とは無関係。

Option Explicit    ' 使った方が良い
Sub EN()                    ' EN()はSubの名前
Const Pi As Single = 3.141592654       ' Piは単精度の実数
Dim n As Integer, i As Integer, r As Single   ' n は整数Integerの宣言
Dim X As Single, Y As Single, Ya As Single
Dim Angle As Single, a As Single, Sa As Single
' r = 円柱の半径 Angle=円柱の切断角度(度)
r = Cells(1, 2): Angle = Cells(2, 2)
n = Cells(3, 2) ' n= 円周分割数
Angle = Angle * Pi / 180 ' 度をradianに変更
' Cells(7, 2) = 楕円の面積
Cells(7, 2) = Pi * r * (Sqr(2) * r) ' 楕円の面積公式
For i = 0 To n : a = 2 * Pi * i / n  ' aはn等分した円周上の角度
X = r * Cos(a): Cells(i + 1, 4) = X  ' 角度aの円周上の点のx 座標
Y = r * Sin(a): Cells(i + 1, 5) = Y  ' 角度aの円周上の点のy座標
Cells(i + 1, 6) = X / Cos(Angle) ' 切断面上のx 座標
Next i
Sa = 0 ' Sa= 楕円の面積1/4の近似計算 数値計算の精度向上のため
For i = 0 To n : a = 0.5 * Pi * i / n ' 楕円の面積1/4をn等分する
X = r * Cos(a): Cells(i + 1, 8) = r * Sin(a) ' 円上のx y座標
Cells(i + 1, 9) = X / Cos(Angle) ' 切断面上のx y座標
If i = 0 Then GoTo Skip
Ya = (Cells(i + 1, 8) + Cells(i, 8)) / 2 ' 切断面上分割片両側y座標値の平均
Sa = Sa + Ya * (Cells(i, 9) - Cells(i + 1, 9)) ' 分割片両側yx座標値の差=幅
Skip: Next i
Cells(9, 2) = Sa * 4
End Sub

Excel VBA 初心者のために
1)Excelのメニューバーの”開発” をクリック ⇒ ”コード表示” をクリック
2)次のコードを入力する
3)図1のSheet1に入力データをセット
4)プログラムの保存と計算の実行
 名前を付けて保存をクリック⇒Excelブックをクリック⇒Excelマクロ有効ブックで名前を付けて保存すれば、
次にExcelを立ち上げたときVBAが利用できる。
実行は、 ” 開発”をクリック⇒” Bisual Basic”をクリックし、実行ボタンをクリックする。
あるいは実行(R)をクリックし、表示された“Sub/ユーザーホームの実行F5” をクリックする。
計算結果から図を描くのはExcelに関する他書を参照。


最初の頁に戻る 物理数学へ


Copyright (C) 2022 赤石 勝 学習塾 Excel VBA プログラミング. All rights reserved.