第2关:外置函数numpy-科学计算工具※
目录
任务描述
相关知识
Numpy函数的导入
Numpy函数
编程要求
解题代码
任务描述
本关目标是让读者通过了解一些Numpy
三角函数的使用,来理解Python
外部库与函数。
相关知识
我们在进行科学公式计算编程过程中会用到很多科学函数,但是我们不用担心不会用,因为在Python
中存在一个非常强大的工具Numpy
,下面过程中使用Numpy
三角函数作为引子,带领大家了解Numpy
库与Python
中的画图工具。
Numpy函数的导入
Numpy
的函数的导入只需要在最开始引入Numpy
然后命名即可,在后续的使用中就可以直接引用函数,示范如下:
import numpy as np
这样就导入了numpy
库,后续只需要np.xx
函数既可以使用xx
函数。
Numpy函数
Numpy
所带的函数非常多,下面只左右砖头来引美玉,更多的美玉可以直接参考Numpy
的说明文档。
linspace函数
linespace
函数的完整形态如下:
linespace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
参数:
start
:scalar
类型(这不是一个具体的数据类型,而是指某一些数据类型,比如int
,float
,bool
,long
,str
等等都属于sclar
类型)。这个数参数表示这个序列的开始值。
stop
:scalar
类型。如果endpoint=True
。那么stop就是序列的终止数值。当endpoint=False
时,返回值中不包含最后一个端点,并且步长会改变。
num
:int
型,可选参数,默认值为50
。表示要生成的样本数,必须是非负值。
endpoint
:bool
类型。可选参数,默认值为True
,这时stop
就是最后的样本。为False
时,不包含stop
的值。
retstep
:bool
类型。可选参数,默认值为True
,这时返回值是(samples,step)
,前面的是数组,后面是步长。
dtype
:表示输出的数组的数据类型,如果没有给出就从其他输入中推断输出的类型。
返回值:
samples
:ndarray
类型。在[start,stop]
闭区间,或者[start,stop)
半闭合区间中,数量为num
,步长相等的样本。
step
:float
类型。可选。只有restep
参数取值为True
时才会返回这个返回值,表示样本中步长。
下面来看一个示范:
import numpy as np
a,b = np.linspace(1, 50, 10, False, True)
print(a)
print(b)
输出如下:
[ 1. 5.9 10.8 15.7 20.6 25.5 30.4 35.3 40.2 45.1]
4.9
此输出表明,返回的是不包含右闭区间均匀分布的十个样本数,其中样本数的步长为4.9
sin()函数
此函数的完整形态为sin(a)
,用来求正弦。
如果a
为ndarray
对象,则np.sin(a)
对矩阵a
中每个元素取正弦。
如果a
是单个数据值,则np.sin(a)
对a
元素取正弦。
例如:
a = [np.pi,np.pi/2,np.pi/4]
b = np.pi
print(np.sin(a))
print(np.sin(b))
[ 1.22464680e-16 1.00000000e+00 7.07106781e-01]
1.22464679915e-16
在输出中可以看到,对列表求正弦,则返回列表。对具体数字求正弦,则直接返回其值。
cos()函数
此函数的完整形态为cos(a)
,用来求余弦。
如果a
为ndarray
对象,则np.cos(a)
对矩阵a
中每个元素取余弦。
如果a
是单个数据值,则np.sin(a)
对a
元素取余弦。
下面来看一个整体的例子:
import numpy as npa = np.array([0, 30, 45, 60, 90])
print('数组中角度的正弦值:')
# 通过乘 pi/180 转化为弧度
print(np.sin(a * np.pi / 180))
print('数组中角度的余弦值:')
print(np.cos(a * np.pi / 180))
数组中角度的正弦值:
[0. 0.5 0.70710678 0.8660254 1. ]
数组中角度的余弦值:
[1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01
6.12323400e-17]
编程要求
本关的编程任务是补全右侧文件Begin-End
处的代码,实现相应的功能。具体要求如下:
第一题:
绘制如下函数组的曲线(花形),角度属于[0, 2pi]
。 x=sin(10θ)cos(θ)
y=sin(10θ)sin(θ)
第二题
绘制如下函数的函数型曲线,角度属于[0, 2pi]
。 x=16(sinθ)3
y=13cosθ−5cos2θ−2cos3θ−cos4θ
解题代码
import numpy as np
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt# 第一题
#x = sin(10\theta)cos(\theta)
#y = sin(10\theta)sin(\theta)
theta=np.linspace(0, 2*np.pi, 1000)
############ begin ##########
# 求出2pi区间下均匀分布的1000个点
x=np.sin(theta)*np.cos(theta)
############ end ############
y=np.sin(10*theta)*np.sin(theta)
plt.plot(x, y, 'r')
plt.savefig('./src/step4/ans1/轨迹1.png')
print(x[0])
plt.close()# 第2题
# 求2pi区间下均匀分布的100个点
t = np.linspace(0, 2*np.pi, 100)
x =16*np.sin(t)**3
# 求y值,并直接输出
############ begin ##########
y=13*np.cos(t)-5*np.cos(2*t)-2*np.cos(3*t)-np.cos(4*t)
############ end ############
print(y[0])
plt.plot(x, y, 'r')
plt.axis([-25, 25, -20, 15])
plt.savefig('./src/step4/ans1/轨迹2.png')
plt.close()
第2关:外置函数numpy-科学计算工具※相关推荐
- 科学计算工具NumPy(3):ndarray的元素处理
科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 元素计算函数 ceil() ...
- 科学计算工具NumPy(2):ndarray的矩阵处理
科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 ndarray的矩阵运算 ...
- 初识人工智能(一):数据分析(二):numpy科学计算基础库(一)
1. numpy科学计算基础库 1.1 什么是numpy NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数 ...
- NumPy科学计算库-学习笔记
文章目录 NumPy科学计算库 0 准备 安装python库 jupyter 启动:jupyter notebook jupyter扩展插件 1 基本操作 1.1 数组创建 1.2 查看属性 1.3 ...
- 科学计算工具NumPy(1):ndarray的创建于数据类型
科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 Numpy(Numeric ...
- MOOC网神经网络与深度学习TensorFlow实践2——numpy科学计算库、matplotlib
numpy科学计算库 只打乱第一维的数据: Matplotlib 散点图 折线图和柱状图 波士顿房价数据集可视化 鸢尾花数据集可视化
- python矩阵sin计算器_Python科学计算工具
Python科学计算工具-Numpy入门 2017.07.02 20:29:14字数 1,404阅读 2,509 一:前言 学了中国大学mooc的Python数据分析与展示课程感觉挺不错的,记录下来以 ...
- python np dot函数_python科学计算之Numpy
Numpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array: 2.成熟的函数库: 3.实用的线性代数.傅 ...
- python【Numpy科学计算库】Numpy的超实用基础详细教程(看不懂你来打我)
文章目录 Numpy简单介绍 1.Numpy是什么 2. 多维数组 numpy数据类型设定与转换 numpy索引与切片 多维数组索引.切片 数组文件输入输出 使用numpy.arange方法 使用nu ...
最新文章
- 六:Dubbo与Zookeeper、SpringMvc整合和使用
- 04.Beetl常用内置函数以及安全输出---《Beetl视频课程》
- .NET网站国际化策略
- .NET跨平台实践:Linux .Net Core自宿主应用程序瘦身记
- 使用Spring Boot 2.0的Spring Security:保护端点
- C# winform对话框用法大全收藏
- jQuery实现checkbox的全选反选方法
- ASP.NET技巧:字符自动截取问题
- 大数据最核心的关键技术:32个算法
- OpenShift 4 - Service Mesh使用入门
- linux usb hcd nak,第16章通用串行总线接口(USB)mpc83xx中文手册.doc
- 计算机论文的写作方法有哪些,计算机专业论文的写作方法.ppt
- ORACLE DELETE数据慢的案例
- Depth Map Prediction from a Single Image using a Multi-Scale Deep Network(NIPS2014)论文阅读
- 怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法
- 苹果电脑怎么进入安全模式教程
- Springboot课设旅游推荐系统
- CCKS-2017行业知识图谱构建与应用-上篇
- Db2 purescale环境db2start因为缺少TSAMP license报错:SQL1677N
- 华南师范大学计算机学院联系方式,华南师范大学计算机学院导师介绍:曾碧卿...