解決済みの質問
VBAプログラミング y=sinxのグラフの面積(x軸の範囲は[0、π])を長方形近似(あ...
VBAプログラミング
y=sinxのグラフの面積(x軸の範囲は[0、π])を長方形近似(あるいは台形公式近似)により1000等分して求めるサブプロシジャ「prog1」を書きなさい。
とりあえず
Sub prog(4)
n=1000
x1=0
x2=1
dx=(x2-x1)/n
s=0
For i=0 To (n-1)
x=x1+i*dx
s=s+dx*func1(x)
Next i
まではなんとか書けたんですが、その後がわかりません(@_@;)
そもそもここまで合っているかも不明なので、詳しい方お願いします><
- 補足
- サブプロシジャ「prog1」→サブプロシジャ「prog4」
Sub prog(4)→Sub prog4()の間違いです。
-
- 質問日時:
- 2011/2/24 11:03:40
-
- 解決日時:
- 2011/3/3 21:00:04
-
- 回答数:
- 1
-
- 閲覧数:
- 154
-
- ソーシャルブックマークへ投稿:
- Yahoo!ブックマークへ投稿
- はてなブックマークへ投稿
- (ソーシャルブックマークとは)
ベストアンサーに選ばれた回答
hotosysさん
こんなのではどうでしょうか?
Sub sample()
Dim pi As Double
Dim n As Integer
Dim xs As Double
Dim xe As Double
Dim dx As Double
Dim x1 As Double
Dim x2 As Double
Dim s1 As Double
Dim s As Double
Dim i As Integer
pi = WorksheetFunction.pi '3.14159265358979
n = 1000 '分割数
xs = 0 'xの初期値
xe = pi 'xの終了値
dx = (xe - xs) / n 'xの1区間の長さ
s = 0 '面積の初期値
For i = 0 To (n - 1) '0から分割数-1の分割数回
x1 = i * dx '分割区間の左側のx値
x2 = x1 + dx '分割区間の右側のx値(左側のx値+1区間の長さ)
s1 = dx * (func1(x1) + func1(x2)) / 2 '台形面積
s = s + s1 '総面積に加える
Next
MsgBox s
End Sub
'ターゲット関数
Function func1(x As Double) As Double
func1 = Sin(x)
End Function
- 違反報告
- 回答日時:2011/2/24 13:31:37
- この質問・回答は役に立ちましたか?
- 役に立った!
お役立ち度:
0人が役に立つと評価しています。


質問した人からのコメント