当前位置:网站首页>Monte Carlo py solves the area problem! (save pupils Series)
Monte Carlo py solves the area problem! (save pupils Series)
2022-04-23 20:20:00 【Install a sound 77】
Recently, I saw such a topic in my circle of friends , Once again refresh the difficulty of primary school students' question bank .

Excellent young bloggers are in front of excellent young bloggers , The curve problem of this ghost animal can naturally be easily solved by integral , But the title has already limited the level of grade 6 , How can you kill a chicken with an ox knife , Even smart as a blogger ,6 Don't talk about points when you're old ,cos Not at all ,( A female pupil said she could use tan,cos Angle solution ), Therefore, this is obviously too reluctant for the majority of primary school students to understand .
that , From the perspective of primary school students, is there any way to deal with this malicious problem ?
The answer is yes

As for the method , For those who are good at smashing cards Pupils throwing darts , Monte Carlo is obviously perfect for , About introducing and connecting a blog , Please read by yourself .
https://blog.csdn.net/binlin199012/article/details/80604080
First, we draw the outline of the figure , Just pick the part we need .

Then start throwing needles wildly
# Take the radius as 1 The circle of , Take the area calculation in the first quadrant as an example
import random
import math
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse, Circle
C=5000# cycles
s=0# Counter
# The field of view of the drawing
plt.xlim(xmax=4,xmin=0)
plt.ylim(ymax=4,ymin=0)
x1=np.arange(0, 4, 0.1)
y1=0.5*x1
plt.plot(x1, y1)
x2 = y2 = np.arange(0, 4, 0.1)
x2, y2 = np.meshgrid(x2,y2)
plt.contour(x2, y2, (x2-4)**2 + (y2-4)**2, [16]) #x**2 + y**2 = 9 Round
plt.show()
for i in range(C):
# Generate random coordinates (x,y)
x=4*random.random()# Generate 0-1 Random number between
#print(x)
y=4*random.random()# Generate 0-1 Random number between
#print(y)
y_predict=-math.sqrt(16-(x-4)**2) + 4
y_predict2=0.5*x
#print(y_predict)
if y_predict>=y and y_predict2>=y and x<=4:# Coordinates y Less than y_predict, It's a round point , That is to meet the conditions , Counter plus 1
s=s+1
plt.plot(x,y,'r+')
else:
plt.plot(x, y, 'b+')
plt.show()
predict_value=16*s/C
print(predict_value)
The injection result is shown in the figure

This is a vote 5000 Time , The calculation result is 1.23 about , Just an approximate solution .
But pupils can say to their teachers “ I can cast it indefinitely to approach the real solution !”
Of course, teachers don't like this “ Because what the computer produces is only pseudo-random , Can't get a real natural pointer ”
But smart pupils have long thought of a solution
“ The air resistance in Brownian motion is purely random , So I just stand high enough , You can get the real frequency by hand casting the pipeline ! ”
版权声明
本文为[Install a sound 77]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204210551491499.html
边栏推荐
- Redis installation (centos7 command line installation)
- Notes of Tang Shu's grammar class in postgraduate entrance examination English
- PostgreSQL basic functions
- Remote code execution in Win 11 using wpad / PAC and JScript
- Sqoop imports data from Mysql to HDFS using lzop compression format and reports NullPointerException
- R语言使用econocharts包创建微观经济或宏观经济图、indifference函数可视化无差异曲线、自定义计算交叉点、自定义配置indifference函数的参数丰富可视化效果
- R language uses econocrats package to create microeconomic or macroeconomic map, visualize indifference function indifference curve, customize calculation intersection, and customize the parameters of
- 16MySQL之DCL 中 COMMIT和ROllBACK
- Openharmony open source developer growth plan, looking for new open source forces that change the world!
- What is the difference between a host and a server?
猜你喜欢

Some basic configurations in interlij idea

Recommend an open source free drawing software draw IO exportable vector graph

Leetcode dynamic planning training camp (1-5 days)

JDBC tool class jdbcfiledateutil uploads files and date format conversion, including the latest, simplest and easiest way to upload single files and multiple files

Building the tide, building the foundation and winning the future -- the successful holding of zdns Partner Conference

Error reported by Azkaban: Azkaban jobExecutor. utils. process. ProcessFailureException: Process exited with code 127

SQL Server Connectors By Thread Pool | DTSQLServerTP 插件使用说明

Fundamentals of programming language (2)

波场DAO新物种下场,USDD如何破局稳定币市场?

Numpy Index & slice & iteration
随机推荐
Local call feign interface message 404
Click an EL checkbox to select all questions
LeetCode动态规划训练营(1~5天)
Cadence Orcad Capture 批量更改元件封装功能介绍图文教程及视频演示
Some basic configurations in interlij idea
Plato Farm元宇宙IEO上线四大,链上交易颇高
R语言使用timeROC包计算存在竞争风险情况下的生存资料多时间AUC值、使用cox模型、并添加协变量、R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的AUC曲线
Sqoop imports tinyint type fields to boolean type
Fundamentals of programming language (2)
ArcGIS js api 4. X submergence analysis and water submergence analysis
DTMF双音多频信号仿真演示系统
还在用 ListView?使用 AnimatedList 让列表元素动起来
selenium. common. exceptions. WebDriverException: Message: ‘chromedriver‘ executable needs to be in PAT
【PTA】L1-002 打印沙漏
go-zero框架数据库方面避坑指南
[graph theory brush question-5] Li Kou 1971 Find out if there is a path in the graph
SQL Server connectors by thread pool 𞓜 instructions for dtsqlservertp plug-in
Intersection calculation of straight line and plane in PCL point cloud processing (53)
微信中金财富高端专区安全吗,证券如何开户呢
Still using listview? Use animatedlist to make list elements move