Python数学基础二、利用正弦sin求曲边图形的面积

简介: Python数学基础二、利用正弦sin求曲边图形的面积



 

正弦

古代的勾三股四弦五中说的弦就是我们要说的正弦,也就是直角三角形中的斜边,叫做弦,股就是人的大腿,古人称直角三角形长的那个直角边就叫做股。

正弦是∠α的对边/斜边的比。

余弦是邻边/斜边的比

如果把勾股弦放在一个圆里面,弦就是圆上两个点的连线,最大的正弦值就是圆的直径。

这个图也能明显的看出来,勾股弦之间的关系。

∠α的正弦=对边/斜边

我们确定正弦是什么后,我们来计算下面的这个题目:

求曲边图形的面积

求y=sin(x)从0到2* pi,与x轴围成的面积。

步骤分析:

1.将各小矩形的高度存放至一列表中。

高度=正弦值的绝对值=对边/斜边*宽度

2.将各高度乘以宽度,得各矩形面积。这里可以分为无数的小矩形。

小矩形面积=高度*宽度

3.求和。

sum(叫矩形面积数组)

推导方式解法:

# 求曲边图形的面积
import math
# 先拆分10个简单算一下。不精确
n = 10
# 每个宽度=2*pi/n
width = 2 * math.pi / n
# 宽度数组
x = []
# 把x轴每次延伸的值逐一放进去
for i in range(n):
    x.append((i * width))
# 高度数组
y = []
# 遍历宽度,根据高度=正弦的绝对值,由于是正弦肯定有正负,那么我们就计算一下绝对值。
for i in x:
    y.append(abs(math.sin(i)))
# 求和
S = sum(y) * width
print(S)

推导式解法:

# 求曲边图形的面积
import math
# 先拆分10个简单算一下。不精确
n = 10
# 每个宽度=2*pi/n
width = 2 * math.pi / n
# 推导式
s = [abs(math.sin(i * width)) * width for i in range(n)]
print(sum(s))

这个小题还是有些麻烦的,理解起来还是没那么容易的。我们看第一个解决方案还是相对理解起来比较容易的,第二个推导式就不是太容易理解的。我们需要对Python的语法非常了解,再加上对题目的理解来搞定这个题目。

如果对于第二个方法难以理解的话可以看后面的博客文章,我会在下一篇文章对这块进行一个深度的讲解。

相关文章
|
2月前
|
Python
【10月更文挑战第10天】「Mac上学Python 19」小学奥数篇5 - 圆和矩形的面积计算
本篇将通过 Python 和 Cangjie 双语解决简单的几何问题:计算圆的面积和矩形的面积。通过这道题,学生将掌握如何使用公式解决几何问题,并学会用编程实现数学公式。
165 60
|
13天前
|
数据可视化 编译器 Python
Manim:数学可视化的强大工具 | python小知识
Manim(Manim Community Edition)是由3Blue1Brown的Grant Sanderson开发的数学动画引擎,专为数学和科学可视化设计。它结合了Python的灵活性与LaTeX的精确性,支持多领域的内容展示,能生成清晰、精确的数学动画,广泛应用于教育视频制作。安装简单,入门容易,适合教育工作者和编程爱好者使用。
74 7
|
2月前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
70 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
2月前
|
机器学习/深度学习 算法 C语言
【Python】Math--数学函数(详细附解析~)
【Python】Math--数学函数(详细附解析~)
|
2月前
|
iOS开发 MacOS Python
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
Python编程-macOS系统数学符号快捷键录入并生成csv文件转换为excel文件
33 0
|
4月前
|
Python
【Python】实现MATLAB中计算两个矩形相交面积的rectint函数
Python中实现MATLAB中rectint函数的方法,该函数用于计算两个矩形相交区域的面积,并通过定义Rectangle类和calc_area函数展示了如何计算两个矩形的交集面积。
62 1
|
5月前
|
Python
在Python中,`tkinter`是一个用于创建图形用户界面(GUI)的标准库。
在Python中,`tkinter`是一个用于创建图形用户界面(GUI)的标准库。
|
5月前
|
自然语言处理 程序员 编译器
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
`pylatex`是一个Python库,用于生成LaTeX文档。LaTeX是一种用于高质量排版和打印的文档准备系统,特别适用于科学、技术和数学文档。
|
5月前
|
数据可视化 Linux 数据格式
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
`seaborn`是一个基于`matplotlib`的Python数据可视化库,它提供了更高级别的接口来绘制有吸引力的和信息丰富的统计图形。`seaborn`的设计目标是使默认图形具有吸引力,同时允许用户通过调整绘图参数来定制图形。
|
5月前
|
Python
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。
`matplotlib`是Python中一个非常流行的绘图库,它提供了丰富的绘图接口,包括二维和三维图形的绘制。`Axes3D`是`matplotlib`中用于创建三维坐标轴的对象,而`plot_surface`则是用于在三维空间中绘制表面的函数。