Python神器可以拯救小学数学题不会做
大家好,我是小小明。
今天看到了一道我做不出来的小学数学题:
目前的要求就是要求出阴影部分的面积:
虽说只是一道小学数字题,但作为渣渣我是真的不会做。虽然我不会做,但是我会Python,所以可以让Python帮我做。
不过这题张老师会做,这是他的解法:
张老师的解法
首先作辅助线:
根据容斥原理,S(阴影部分面积)=S(扇形DAF)+S(扇形DEF)-S(四边形AFED)
S(四边形AFED)=2*S(三角形ADE)=1/2*S(正方形ABCD)=25/2
两个扇形的面积求解会复杂点,但只要找到相似三角形就能找到突破点。
因为∠AFE=∠ADE=90°,所以∠DAF+∠FED=180°
又∠FEC+∠FED=180°,所以∠DAF=∠FEC
故 扇形DAF 与 扇形FEC 相似。
对于相似扇形,面积之比等于边长之比的平方。
因为AD=2*EC
,所以S(扇形DAF)=4*S(扇形FEC)
所以S(扇形DAF)+S(扇形DEF)=4*S(扇形FEC)+S(扇形DEF)=3*S(扇形FEC)+S(半圆DC)
S ( 扇形FEC ) = ∠ F E C 2 π ⋅ π ⋅ ( 5 2 ) 2 = 25 ⋅ ∠ F E C 8 \large S(\text{扇形FEC})=\frac{∠FEC}{2π}·\pi·(\frac 5 2)^2=\frac{25·∠FEC}{8} S(扇形FEC)=2π∠FEC⋅π⋅(25)2=825⋅∠FEC
由于∠FEC=∠DAF,故 S ( 扇形FEC ) = 25 ⋅ ∠ D A F 8 \large S(\text{扇形FEC})=\frac{25·∠DAF}{8} S(扇形FEC)=825⋅∠DAF
下面我们求解∠DAF,由于tan(∠DAE)=DE/AD=1/2
根据倍角公式: tan 2 α = 2 tan α 1 − tan 2 α \large \tan 2 \alpha=\frac{2 \tan \alpha}{1-\tan ^{2} \alpha} tan2α=1−tan2α2tanα得
t a n ( ∠ D A F ) = t a n ( 2 ∗ ∠ D A E ) = 2 ⋅ 1 2 1 − ( 1 2 ) 2 = 1 3 4 = 4 3 \large tan(∠DAF)=tan(2*∠DAE)=\frac{2·\frac12}{1-{(\frac12)}^2}=\frac{1}{\frac34}=\frac43 tan(∠DAF)=tan(2∗∠DAE)=1−(21)22⋅21=431=34
所以,∠DAF=arctan(4/3)
所以S(阴影部分面积)=S(扇形DAF)+S(扇形DEF)-S(四边形AFED)
=3*S(扇形FEC)+S(半圆DC)-25/2
=3·(25·arctan(4/3)/8)+((5/2)^2·π)/2-25/2
=75/8·arctan(4/3)+25/8·π-25/2
这样就得到了最终结果为:=75/8·arctan(4/3)+25/8·π-25/2
用python计算一下精确数值:
import math75/8*math.atan(4/3)+25/8*math.pi-25/2
结果:6.0108697112332194
在计算出∠DAF后,算阴影部分的弧长也很简单了:
DF的上弧长=DC弧长-FC弧长=5/2·π-5/2·arctan(4/3)
DF的下弧长=5·∠DAF=5·arctan(4/3)
阴影部分的弧长=DF的上弧长+DF的下弧长=5/2·π+5/2·arctan(4/3)
用python计算一下精确数值:
import math5/2*math.pi+5/2*math.atan(4/3)
结果:10.172219678978513
个人感觉上面的解法虽然计算出来了,还是挺复杂的,直接用python计算积分简单省事:
Python绘制函数图形
首先,我们以D点建立直角坐标系,然后计算出,扇形和圆形的函数分别是:
- 扇形: y = 5 − 25 − x 2 y=5-\sqrt{25-x^2} y=5−25−x2
- 圆形: y = 5 x − x 2 y=\sqrt{5x-x^2} y=5x−x2
绘制图形验证一下:
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
%matplotlib inlinex = np.linspace(0, 5, 1024)
y1 = 5-np.sqrt(25-x**2)
y2 = np.sqrt(5*x-x**2)plt.figure(figsize=(5, 5))
plt.plot(x, y1, label='扇形y=5-$\sqrt{25-x^2}$')
plt.plot(x, y2, label='圆形y=$\sqrt{5x-x^2}$')
plt.fill_between(x[y1 <= y2], y1[y1 <= y2], y2[y1 <= y2])
plt.xlim(0, 5)
plt.ylim(0, 5)
plt.axvline(4, ymin=0, ymax=0.4, color="r", ls="--")
plt.legend()plt.show()
从结果看没有问题。
Python求解积分计算阴影部分面积
上面已经计算出了函数表达式,现在我们使用sympy表示一下:
from sympy.abc import x
import sympyy1 = 5-sympy.sqrt(25-x**2)
y2 = sympy.sqrt(5*x-x**2)
为了确定积分的结束位置,我们首先需要计算出两个函数的交点。
令两个函数的差值为0,求解x:
sympy.solve(y2-y1, x)
得到:[0, 4]
说明第二个交点的x坐标是4。
为了得到对应的y坐标,我们可以将x代入两个函数任意一个:
display(y1)
display(y1.subs(x, 4))
display(y2)
display(y2.subs(x, 4))
说明交点的y坐标为2。
然后计算积分:
r1 = sympy.integrate(y2-y1, (x, 0, 4))
r1
结果:
− 25 2 − 25 asin ( 5 5 ) 4 + 25 π 8 + 25 asin ( 4 5 ) 2 \displaystyle - \frac{25}{2} - \frac{25 \operatorname{asin}{\left(\frac{\sqrt{5}}{5} \right)}}{4} + \frac{25 \pi}{8} + \frac{25 \operatorname{asin}{\left(\frac{4}{5} \right)}}{2} −225−425asin(55 )+825π+225asin(54)
计算具体的数值:
r1.evalf()
结果为:6.01086971123322
可以看到与张老师的计算结果几乎一致。
Python求解曲线积分计算阴影部分周长
首先,我们需要清楚曲线积分的计算公式:
那么,我们的计算方法为:
r2 = sympy.integrate(sympy.sqrt(1+sympy.diff(y1, x)**2), (x, 0, 4)) + \sympy.integrate(sympy.sqrt(1+sympy.diff(y2, x)**2), (x, 0, 4))
r2
结果:
5 asin ( 4 5 ) + 5 ∫ 0 4 1 5 − x x d x 2 \displaystyle 5 \operatorname{asin}{\left(\frac{4}{5} \right)} + \frac{5 \int\limits_{0}^{4} \frac{\sqrt{\frac{1}{5 - x}}}{\sqrt{x}}\, dx}{2} 5asin(54)+250∫4x 5−x1 dx
计算具体的数值:
r2.evalf()
结果为:10.1722196789785
Python神器可以拯救小学数学题不会做相关推荐
- python解越南逆天小学数学题
题目来自越南保禄小学三年班,学生需要由上至下.从左到右的顺序,填入1至9的数字,可重复填写,并按先乘除后加减的运算法则,完成整条算式. 题目如果由我自己来做,实在不知道怎么做,只能感叹现在的小学生实在 ...
- python小学生口算题生成器_小学数学题出题神器
小学数学题生成器是一款简易的小学数学题目出题神器,目前支持20以内的加减混合运算,未来会更新更多的功能.对于想要在家给孩子练习的家长来说,还是比较方便的,而且能够打印. 软件介绍 今年儿子刚上一年级, ...
- 【Python基础】拯救你奇丑无比的Python代码的神器
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个 ...
- 我利用这几个神器来拯救自己奇丑无比的python代码
Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个规范,代码写得比较丑.本文推荐几个神器来拯救奇丑无边的python代码. 一.Jupyter notebook 篇 Jupyter n ...
- 【Python基础】推荐几个神器来拯救奇丑无比的python代码
Python编程语言需要遵循PEP8规范,但是初学者往往记不住这个规范,代码写得比较丑.本文推荐几个神器来拯救奇丑无边的python代码. 一.Jupyter notebook 篇 Jupyter n ...
- 最近被刷屏的这道小学数学题,你怎么看?
来自网络 ●●● 看着孩子的作业题, 有多少爸爸妈妈感叹, 幸亏自己毕业得早, 要不然小学都不能毕业! 这不, 最近一道小学数学题, 又刷爆了家长们的朋友圈. 一起往下看, 算一算图中的这道小学数学题 ...
- OpenAI新发现:GPT-3做小学数学题能得55分,验证胜过微调!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 会做数学题的GPT-3,逻辑推理能力是上了一个高度,但还不能及格. ...
- P5431 【模板】乘法逆元2(小学数学题,毒瘤鱼,卡常之王yyds)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 P5431 [模板]乘法逆元2 题目传送门 题目大意: 给定 nnn 个正整数 aia_iai ,求 ...
- 一个傻瓜式构建可视化 web的 Python 神器
大家好,我是明哥. 之前给大家安利过一款构建可视化 web app 的 Python 工具库 pywebio,不知道有没有人去试用下? 今天要介绍这个神器,可以说是 pywebio 的 Plus ...
最新文章
- 信息学奥赛一本通C++语言——1062:最高的分数
- 登陆窗体相关的控件 1124
- AD2S1210的使用总结
- 访问共享打印机报错:0x00000bcb
- 数字图像处理基本知识点1(冈萨雷斯)
- HTML单选框-多选框-按钮
- polkitd进程解释
- GSYVideoPlayer禁用快进功能
- 【爱课程-精品通选系列课程】哲学智慧与人文思想
- 线代——余子式和代数余子式
- 设置苹果手机的生日提醒
- 微博营销的价值和优缺点
- CRM客户管理系统怎样对客户价值进行评估
- 企业知识管理的重要性
- Python图片读显写的几种方式
- 美团点评2020校招测试方向笔试题
- 接口之----手机号验证接口api
- essay--上海到南京间D字头列车时刻表
- java计算机毕业设计钢材出入库管理系统MyBatis+系统+LW文档+源码+调试部署
- 普通变换器驱动波形和软开关驱动波形的区别:米勒平台的存在与否
热门文章
- 旧式台式计算机,浅析老式台式电脑用Win7好还是win10系统好?哪个比较流畅?
- 什么,你算出的P-value看上去像齐天大圣变的庙?
- 远古守卫/cocos2d-x 源代码/塔防游戏/高仿王国保卫战
- 若依ruiyi使用小计
- TIME_WAIT状态总结
- C#中write和writeline的区别
- C# | WriteLine写入.txt 文件
- FZU 2207 ——以撒的结合——————【LCA + 记录祖先】
- tui-image-editor编辑图片的使用
- IDEA_NoSuchMethodError: DefaultModelValidator: method <init>()V not found