目录

任务描述

相关知识

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)

参数:

startscalar类型(这不是一个具体的数据类型,而是指某一些数据类型,比如int,float,bool,long,str等等都属于sclar类型)。这个数参数表示这个序列的开始值。

stopscalar类型。如果endpoint=True。那么stop就是序列的终止数值。当endpoint=False时,返回值中不包含最后一个端点,并且步长会改变。

numint型,可选参数,默认值为50。表示要生成的样本数,必须是非负值。

endpointbool类型。可选参数,默认值为True,这时stop就是最后的样本。为False时,不包含stop的值。

retstepbool类型。可选参数,默认值为True,这时返回值是(samples,step),前面的是数组,后面是步长。

dtype:表示输出的数组的数据类型,如果没有给出就从其他输入中推断输出的类型。

返回值:

samplesndarray类型。在[start,stop]闭区间,或者[start,stop)半闭合区间中,数量为num,步长相等的样本。

stepfloat类型。可选。只有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),用来求正弦。

如果andarray对象,则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),用来求余弦。

如果andarray对象,则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-科学计算工具※相关推荐

  1. 科学计算工具NumPy(3):ndarray的元素处理

    科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 元素计算函数 ceil() ...

  2. 科学计算工具NumPy(2):ndarray的矩阵处理

    科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 ndarray的矩阵运算 ...

  3. 初识人工智能(一):数据分析(二):numpy科学计算基础库(一)

    1. numpy科学计算基础库 1.1 什么是numpy NumPy(Numerical Python)是Python语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数 ...

  4. NumPy科学计算库-学习笔记

    文章目录 NumPy科学计算库 0 准备 安装python库 jupyter 启动:jupyter notebook jupyter扩展插件 1 基本操作 1.1 数组创建 1.2 查看属性 1.3 ...

  5. 科学计算工具NumPy(1):ndarray的创建于数据类型

    科学计算工具NumPy(1):ndarray的创建于数据类型 科学计算工具NumPy(2):ndarray的矩阵处理 科学计算工具NumPy(3):ndarray的元素处理 Numpy(Numeric ...

  6. MOOC网神经网络与深度学习TensorFlow实践2——numpy科学计算库、matplotlib

    numpy科学计算库 只打乱第一维的数据: Matplotlib 散点图 折线图和柱状图 波士顿房价数据集可视化 鸢尾花数据集可视化

  7. python矩阵sin计算器_Python科学计算工具

    Python科学计算工具-Numpy入门 2017.07.02 20:29:14字数 1,404阅读 2,509 一:前言 学了中国大学mooc的Python数据分析与展示课程感觉挺不错的,记录下来以 ...

  8. python np dot函数_python科学计算之Numpy

    Numpy的组成与功能 Numpy(Numeric Python)可以被理解为一个用python实现的科学计算包,包括: 1.强大的N维数组对象Array: 2.成熟的函数库: 3.实用的线性代数.傅 ...

  9. python【Numpy科学计算库】Numpy的超实用基础详细教程(看不懂你来打我)

    文章目录 Numpy简单介绍 1.Numpy是什么 2. 多维数组 numpy数据类型设定与转换 numpy索引与切片 多维数组索引.切片 数组文件输入输出 使用numpy.arange方法 使用nu ...

最新文章

  1. 六:Dubbo与Zookeeper、SpringMvc整合和使用
  2. 04.Beetl常用内置函数以及安全输出---《Beetl视频课程》
  3. .NET网站国际化策略
  4. .NET跨平台实践:Linux .Net Core自宿主应用程序瘦身记
  5. 使用Spring Boot 2.0的Spring Security:保护端点
  6. C# winform对话框用法大全收藏
  7. jQuery实现checkbox的全选反选方法
  8. ASP.NET技巧:字符自动截取问题
  9. 大数据最核心的关键技术:32个算法
  10. OpenShift 4 - Service Mesh使用入门
  11. linux usb hcd nak,第16章通用串行总线接口(USB)mpc83xx中文手册.doc
  12. 计算机论文的写作方法有哪些,计算机专业论文的写作方法.ppt
  13. ORACLE DELETE数据慢的案例
  14. Depth Map Prediction from a Single Image using a Multi-Scale Deep Network(NIPS2014)论文阅读
  15. 怎么完全卸载赛门铁克_赛门铁克(sep)卸载方法
  16. 苹果电脑怎么进入安全模式教程
  17. Springboot课设旅游推荐系统
  18. CCKS-2017行业知识图谱构建与应用-上篇
  19. Db2 purescale环境db2start因为缺少TSAMP license报错:SQL1677N
  20. 华南师范大学计算机学院联系方式,华南师范大学计算机学院导师介绍:曾碧卿...

热门文章

  1. Spring mvc框架
  2. 从输入URL到页面成功展示到浏览器的过程?
  3. CTF-web 第十一部分 实用脚本
  4. 美国Westar光学测试设备改造升级(精通TestStand编程管理软件)
  5. 盘点那些年与QQ会员携手的十大品牌
  6. 干货!Lazada使用支付宝收款常见问题解答
  7. 苹果nfc功能怎么开启_苹果手机中很值得用的5个功能,教你一键开启,好用不止一倍...
  8. Java使用HttpClient模拟登录微博
  9. og my god
  10. C语言指针基础知识点(六)--通过指针引用多维数组