python系即学即用系列01(蒙特卡罗方法)

#用python初步实现蒙特卡罗方法,为了减少运算时间,
所以源码中n取10000,后续测试体验时可改正#
import random
n=10000
r=1.0
a,b=(0.0,0.0)
x_neg,x_pos=a-r,a+r
y_neg,y_pos=b-r,b+r

count=0
for i in range(0,n):
    x=random.uniform(x_neg,x_pos)
    y=random.uniform(y_neg,y_pos)
    if x*x+y*y<=1.0:
        count +=1
print((count/float(n))*4)
#用python测试蒙特卡罗方法进行简单积分运算
def intergral():
    n=10000
    x_min,x_max=0.0,1.0
    y_min,y_max=0.0,1.0
    count=0
    for i in range(0,n):
        x=random.uniform(x_min,x_max)
        y=random.uniform(y_min,y_max)
        if x*x>y:
            count +=1
print ("integral_value is {0}".format(count/float(n)))

应用时出现的小问题:
打算输出数字,但是以下第一种输出字符串,第二种输出的是数字,print括号里字符串是需要加""的,其他类型则不用
01

#第一种
intergral_value=(count/float(n))
print ("integral_value")
#第二种
intergral_value=int(count/float(n))
print(intergral_value)

系列二将用python中的函数调用实现质心系下的卢瑟福散射公式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值