VB怎么计算微积分?
vb吧
全部回复
仅看楼主
level 10
如标题,例如计算f(x)=2x,关于x的在(-2,2)定积分。求解如何计算。微积分原理:将函数曲线与x轴连成一个平面图形,以x轴为单位将平面图形分成很多小块,计算出每一小块的面积,总面积就是积分了
2013年12月24日 09点12分 1
level 10
或者x^2在(2,9)的定积分,我只想知道用什么算法能实现
2013年12月24日 09点12分 3
level 9
private const s as single = 0.0001
dim i as single, area as single
for i = -2 to 2 step s
area = area + 2 * i * s
next
2013年12月24日 10点12分 4
area = area + 2 * i * s,这句,2*i*s,是什么意思,为什么要2,面积不是x*y么
2013年12月24日 10点12分
回复 棉花糖ONE快乐 :i就是x, i*2 = 2x = y, s是步长,就是分割出来的小矩形的底边长.
2013年12月24日 10点12分
结果不会完全精确。 只能通过缩小步长来实现无限的逼近
2013年12月24日 10点12分
@破瓷罐 这当然了,
2013年12月26日 00点12分
level 8
牛顿莱布尼茨公式啊
2015年01月21日 06点01分 6
level 7
好像有个蒙特卡洛方法可以用来求定积分。。牛顿莱布尼兹公式用程序实现貌似有点难。。。[黑线]
2015年01月21日 12点01分 8
level 10
@fengwj28 @astrophysics @一只壳壳其实后来我找到方法了。感谢这么久了还回贴。高等数学中有一章是无穷级数,那一章的作用其实就是教你怎么把一个函数转换成数列,所以可以用无穷级数来求近似值。牛顿莱布尼茨公式适合笔算。
2015年01月22日 04点01分 9
level 10
@一只壳壳 这次一定艾特成功
2015年01月22日 04点01分 10
回复
һֻ�ǿ�
:亲,那你编出来了么?
2015年04月04日 02点04分
回复
һֻ�ǿ�
:应用,我用面积法编的,误差比较小,你呢?[呵呵]
2015年04月24日 01点04分
level 6
进行这种计算要么先把式子化简然后计算,要么准备烧时间.
2015年04月04日 08点04分 12
当然,如果有直接求的系统函数那也行
2015年04月04日 08点04分
level 10
一定要很长
2015年04月04日 09点04分 17
吧务
level 13
2015年04月05日 06点04分 18
正太分布曲线,应该先用【u 转换】,将一般正态分布表达式变成标注正态分布表达式,那么 -∞ → x 的积分就变成 -∞ → u 的积分。由于 -∞ → 0 的积分等于0.5,实际只计算 0 → │u│ 的积分值 Z。当 u < 0 时,F(u) = 0.5 - Z;否则 F(u) = 0.5 + Z。
2015年04月05日 06点04分
随便说一句,《高等数学》中的【牛顿-莱布尼茨公式】不能解决这个问题,实际的数学推导是对标注正态分布函数用级数展开后,再对级数的每一项再积分得到的。
2015年04月05日 07点04分
这里打错字了——【标注】应该是【标准】。
2015年04月05日 07点04分
看来仅仅是学点《高等数学》还远远不够,请看工程数学中的《数理方程》、《积分变换》、《概率论》等基础知识。
2015年04月05日 07点04分
吧务
level 13
这里给出【正态分布函数概率值计算】自定函数程序代码:
' 正态分布概率值计算函数
Public Function Norm(x
#, nU#
, nd#) As Double
Dim u#, nCS%, Px
#, n%, Nj#
, j%, Z#
u = (x - nU) / nd ' u 转换公式
nCS = 50 ' nCS 展开项数
Px = 0 ' nCS 越大越精确
For n = 0 To nCS
Nj = 1 ' nJ 表示 n!
For j = 1 To n
Nj = Nj * j
Next j
Z = (-2) ^ n * Nj * (2 * n + 1)
Z = Abs(u) ^ (2 * n + 1) / Z
Px = Px + Z
Next n
Z = 0.3989422804 * Px
Norm = IIf(u >= 0, 0.5 + Z, 0.5 - Z)
End Function
' 调用格式:Px = Norm(x, nU, nd) 。
2015年04月05日 08点04分 19
有关论述,请参看《计算机辅助安全工程(导论)》一书,四川大学出版社,2014年5月第一次印刷,条码:9787561476253。
2015年04月05日 08点04分
老师,计算这段源码能否完全共享学习下
2024年12月10日 09点12分
level 9
面积可以用随机取点看概率来求
2015年04月05日 11点04分 20
level 1
科学与工程数值算法VB版
2015年05月07日 17点05分 21
level 10
北风吹,秋风凉 谁家娇妻守空房 你有困难我帮忙 我住隔壁我姓王[滑稽]
2015年05月07日 23点05分 22
level 1
辛普森公式,数值分析里的‘
2015年12月18日 13点12分 23
level 1
X起点 = Text1
X终点 = Text2
X区间 = X终点 - X起点
Y起点 = Text3
Y终点 = Text4
Y区间 = Y终点 - Y起点
Dim 微分面积 As Single
Dim 积分面积 As Single
Picture1.CurrentX = Text1
Picture1.CurrentY = Sin(Text1) + Text4
Dim dx, dy As Single
Dim 步长 As Single
步长 = Val(Text5)
For dx = X起点 To X终点 Step 步长
dy = Sin(dx)
'Picture1.Line (dx, dy)-(dx, dy + Y终点)
Picture1.Line (dx, Y起点)-(dx, dy + Y终点), &HFF0000, B
'------------画Y轴上面界线------------
Picture1.PSet (dx, Y起点), 255
Picture1.PSet (dx, dy + Y终点), 255
Debug.Print "dy:" & dy
'------------------------------------
微分面积 = 步长 * (dy + (Y终点 - Y起点)) '方形面积:长X宽
'Debug.Print 微分面积
积分面积 = 积分面积 + 微分面积
DoEvents
Next
MsgBox 积分面积
'------------画X轴两边界线------------
Picture1.CurrentX = X起点
Picture1.CurrentY = Y起点
Picture1.Line -(X起点, Sin(X起点) + Y终点), 255
Picture1.CurrentX = X终点
Picture1.CurrentY = Y起点
Picture1.Line -(X终点, Sin(X终点) + Y终点), 255
'------------------------------------
Picture1.Refresh
2025年08月21日 13点08分 24
level 1
2025年08月21日 13点08分 25
1