No.1ベストアンサー
- 回答日時:
質問として成立しているかどうか怪しいですが、
プログラム自体は簡単ですから作ってみました。
mainのところの長径、短径を1,1で計算してみましたが、
2πとの誤差は10^-10以下でしたので、これそのものはあっていると
思います。
Option Explicit
Private Function daen(sita As Double, k As Double) As Double
daen = (1 - k * (Sin(sita)) ^ 2) ^ 0.5
End Function
Sub test()
Const bunkatu = 512
Const pai = 3.14159265358979
Const chokei = 8
Const tankei = 6
Dim sum As Double
Dim ct As Integer
Dim keisu As Integer
Dim hiritu As Double
hiritu = 1 - (tankei / chokei) ^ 2
For ct = 0 To bunkatu
If ct = 0 Or ct = bunkatu Then
keisu = 1
ElseIf ct Mod 2 = 0 Then
keisu = 2
Else
keisu = 4
End If
sum = sum + daen(pai / 2 / bunkatu * ct, hiritu) * keisu
Next
sum = sum / bunkatu / 3 * 4 * chokei * pai / 2
MsgBox (sum)
End Sub
この回答への補足
うわーー大変感謝です。
ついでにどなたか
f(θ) = ∫{0~π/2} √{1 - k^2 sin^2 θ} dθ
について
d^4(f(θ))/dθ^4
を 解いていただけないものでしょうか。
現在上のf(θ)の級数展開式をエクセルVBAで組んでいます。
これと比較して数値が一致するようでしたら即採用予定です。
No.2
- 回答日時:
やっとwikiが見れました。
(こちら中国じゃ、串指さないとwikiにアクセスできないんで)>現在上のf(θ)の級数展開式をエクセルVBAで組んでいます。
こちらのプログラムの方が更に簡単ですよ。載せておきます。
(2n-1)!!/2n!!は逐次計算の際にそれぞれをかけていけば簡単に解決できます。
Sub daenshu()
Const chokei = 8#
Const tankei = 6#
Const pai = 3.14159265358979
Dim ct As Integer
Dim risin As Double
Dim dExcl As Double
Dim sum As Double
risin = 1 - (tankei / chokei) ^ 2
dExcl = 1#
sum = 1#
For ct = 1 To 100
dExcl = dExcl * (2 * ct - 1) ^ 2 / 4 / ct ^ 2
sum = sum - risin ^ ct / (2 * ct - 1) * dExcl
Next
sum = sum * pai * 2 * chokei
MsgBox (sum)
End Sub
ほんとうにありがとうございました。別の方法の下記式と結果が
見事に一致しました。おそらく、楕円の周長計算の方法に決定打
が出たと思います。当方の確認式です。
h1=(a-b)
h2=(a+b)
L=PI()*h2*(1+(h1/h2)^2/4+(h1/h2)^4/64+(h1/h2)^6/256
L=44.20698431
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- 物理学 歌口と楕円形の太鼓 1 2023/05/15 23:21
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- 数学 複利毎月積み立てで年利からの計算方法 3 2023/01/11 15:56
- Excel(エクセル) エクセルで計算結果が0でないときのみセルを更新したい 4 2022/07/30 11:58
- Visual Basic(VBA) VBAプログラム初心者です。 以下の問題のプログラムを表記してみたのですが、実行するためには、どこを 4 2023/01/19 20:04
- その他(プログラミング・Web制作) 大学一年でVBAのプログラミングを勉強しているものです。来週の情報の授業で以下の問題のプログラムを勉 4 2023/01/19 16:15
- その他(Microsoft Office) エクセルで1行の長いデータを指定の桁数で分割する方法が知りたいです。 4 2022/05/20 21:55
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
15%増しの計算方法
-
前年比の%の計算式を教えてく...
-
パーセントの計算
-
3分2の計算教えて下さい
-
エクセルで関数計算後の値を数...
-
ラジアン値を°′″(度・分・秒)...
-
何通りかの計算で 7C4 の答えが...
-
「出来型」と「出来形」の使い...
-
250gを8割と2割に分けると
-
3割アップとは、どうのように...
-
毎日10%ずつお金が増える時...
-
3分の2の計算の仕方
-
指数計算 2^n-1
-
割引や%引きの計算のやり方を教...
-
同じ時間なのに、60進と10...
-
6畳間は何立方メートル?
-
1人の人間の祖先をさかのぼっ...
-
8の4分の3乗は?
-
一定倍したある数を元に戻すには?
-
算数の比 0:1
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
15%増しの計算方法
-
前年比の%の計算式を教えてく...
-
パーセントの計算
-
3分2の計算教えて下さい
-
ラジアン値を°′″(度・分・秒)...
-
エクセルで関数計算後の値を数...
-
3割アップとは、どうのように...
-
何通りかの計算で 7C4 の答えが...
-
初歩的な計算式の問題です。
-
6畳間は何立方メートル?
-
数学がとにかくできません。知...
-
指数計算 2^n-1
-
計算式の答えまでの過程を教え...
-
一定倍したある数を元に戻すには?
-
250gを8割と2割に分けると
-
1÷無限=0ということは数(大き...
-
一日ずつ2倍の金額をもらい続...
-
算数で質問です よろしくお願い...
-
2の365乗
-
教えて下さい
おすすめ情報