高斯分布例题_高斯定理求半球面球心电场

高斯分布例题_高斯定理求半球面球心电场给定心形曲线(x2+y2−1)3=x2y3(x^2+y^2-1)^3=x^2y^3,给定任意一点的坐标(X,Y)(X,Y)其中X~N(X,σx)X~N(X,\sigma_x),Y~N(Y,σy)Y~N(Y,\sigma_y)求点(X,Y)(X,Y)落入心形曲线内的概率。思路:以(X,Y)(X,Y)为中心,画出3∗σ3*\sigma半径的椭圆,求和心形曲线相交的体积。注意:心形曲线方程可化为x

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

给定心形曲线 (x2+y21)3=x2y3 ,给定任意一点的坐标 (X,Y) 其中 XN(X,σx) YN(Y,σy) 求点 (X,Y) 落入心形曲线内的概率。
思路:
(X,Y) 为中心,画出 3σ 半径的椭圆,求和心形曲线相交的体积。注意:心形曲线方程可化为 x2+y21=x2/3y ,满足 x2+y21<=(x2)1/3y 在曲线内。利用心形曲线上下左右都有最大值且约等于正负1。可以设定一个分辨率画出图形。
上代码:

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

res=0.01#单位每像素
RES=1/res#像素每单位
block=256
map1=np.ones([block,block])
CX=block/2.0
CY=block/2.0
for y in np.arange(0,block):
    for x in np.arange(0,block):
        if (res*(x-CX))**2+(res*(y-CX))**2-1<=(res*np.abs(x-CX))**(2.0/3.0)*(res*(y-CY)):
            map1[y,x]=0
plt.figure(1)
plt.imshow(map1,cmap='gray')

sigmax=0.3
sigmay=0.1
X=0
Y=0
l=max(CX+(X-3*sigmax)*RES,0)
r=min(CX+(X+3*sigmax)*RES,block)
t=max(CY+(Y-3*sigmay)*RES,0)
b=min(CY+(Y+3*sigmay)*RES,block)
print(l,r,t,b)
theta=1/((2.0*np.pi)*(sigmax*sigmay))
ssum=0;
for y in np.arange(l,r+1):
    for x in np.arange(t,b+1):
      if map1[y,x]==0:
          map1[y,x]=np.exp(-0.5*((((x-CX)*res-X)/sigmax)**2+(((y-CY)*res-Y)/sigmay)**2))
          ssum=ssum+theta*map1[y,x]

plt.figure(2)
plt.imshow(map1,cmap='gray')
#print(ssum/(np.sum(np.sum(f))))
#print(res**2*theta*np.sum(np.sum(f)))
print(res**2*ssum)
print(np.round(res**2*ssum*10)/10)
plt.show()

效果图:
这里写图片描述
心形
这里写图片描述
p=1.0
这里写图片描述
p=0.9
这里写图片描述
p=0.5
这里写图片描述
p=0.4

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181369.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号