当前位置:网站首页>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
边栏推荐
- Paper writing 19: the difference between conference papers and journal papers
- [2022] regard 3D target detection as sequence prediction - point2seq: detecting 3D objects as sequences
- Mysql database and table building: the difference between utf8 and utf8mb4
- 2022 - Data Warehouse - [time dimension table] - year, week and holiday
- nc基础用法1
- Redis distributed lock
- MySQL advanced lock - overview of MySQL locks and classification of MySQL locks: global lock (data backup), table level lock (table shared read lock, table exclusive write lock, metadata lock and inte
- [numerical prediction case] (3) LSTM time series electricity quantity prediction, with tensorflow complete code attached
- Introduction to link database function of cadence OrCAD capture CIS replacement components, graphic tutorial and video demonstration
- 【目标跟踪】基于帧差法结合卡尔曼滤波实现行人姿态识别附matlab代码
猜你喜欢

WordPress plug-in: WP CHINA Yes solution to slow domestic access to the official website

STM32 Basics

AQS learning

【PTA】L1-002 打印沙漏

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

What is the difference between a host and a server?

Linux64Bit下安装MySQL5.6-不能修改root密码

Grafana shares links with variable parameters

go-zero框架数据库方面避坑指南

LeetCode动态规划训练营(1~5天)
随机推荐
Error reported by Azkaban: Azkaban jobExecutor. utils. process. ProcessFailureException: Process exited with code 64
SQL Server Connectors By Thread Pool | DTSQLServerTP plugin instructions
R语言survival包coxph函数构建cox回归模型、ggrisk包ggrisk函数和two_scatter函数可视化Cox回归的风险评分图、解读风险评分图、基于LIRI数据集(基因数据集)
SQL Server connectors by thread pool 𞓜 instructions for dtsqlservertp plug-in
Openharmony open source developer growth plan, looking for new open source forces that change the world!
Commit and ROLLBACK in DCL of 16mysql
An error is reported in the initialization metadata of the dolphin scheduler -- it turns out that there is a special symbol in the password. "$“
nc基础用法
An error is reported when sqoop imports data from Mysql to HDFS: sqlexception in nextkeyvalue
nc基础用法3
Redis distributed lock
使用 WPAD/PAC 和 JScript在win11中进行远程代码执行3
Servlet learning notes
Notes of Tang Shu's grammar class in postgraduate entrance examination English
[numerical prediction case] (3) LSTM time series electricity quantity prediction, with tensorflow complete code attached
論文寫作 19: 會議論文與期刊論文的區別
Browser - learning notes
16MySQL之DCL 中 COMMIT和ROllBACK
Solution to PowerDesigner's failure to connect to MySQL in x64 system
Unity 模型整体更改材质