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