Python函数绘图
最近看数学,发现有时候画个图还真管用,对理解和展示效果都不错。尤其是三维空间和一些复杂函数,相当直观,也有助于解题。
本来想用mathlab,下载安装都太费事,杀鸡不用牛刀,Python基本就能实现。
下面分别在二维三维举例说明。
1. 二维绘图
1) 描述:
绘制极坐标系中r=1他r=2cosθ的相交部分
(没画的时候,我确实没看出r=2cosθ也是正圆)
2) 程序
- import numpy as np
- import matplotlib.pyplot as plt
- plt.figure(1)
- ax = plt.subplot(111)
- x = np.linspace(0, np.pi * 2, 200) # 在0到2pi之间,均匀产生200点的数组
- # r = 2cosθ
- r = 2 * np.cos(x) # 半径
- ax.plot(r * np.cos(x), r * np.sin(x))
- # r = 1
- r = 1
- ax.plot(r * np.cos(x), r * np.sin(x))
- plt.show()
3) 运行结果
2. 三维绘图
1) 描述:
绘制向量函数r(t)=(sint,cost,t)的图,即向量r的坐标x,y,z都是t的函数,分别是x(t)=sint, y(t)=cost, z(t)=t。可将函数视为“大黄蜂”的飞行曲线,即t时刻,它在空间中的位置是(x,y,z),以及它的导数(飞行速度)x’(t)=cost, y’(t)=-sint,z=1,即r’(t)=(cost,-sint,1)
2) 程序
- import numpy as np
- import matplotlib.pyplot as plt
- from mpl_toolkits.mplot3d import Axes3D
- fig = plt.figure(1)
- ax = fig.add_subplot(1,1,1, projection='3d') # 指定三维空间做图
- t = np.linspace(0, 4, 200) # 在0到4之间,均匀产生200点的数组
- theta = t * 2 * np.pi # 角度
- # r(t)=(sint,cost,t)
- z = t
- x = np.sin(theta)
- y = np.cos(theta)
- ax.plot(x, y, z, label='r(t)')
- # r’(t)
- z = 1
- x = np.cos(theta)
- y = -np.sin(theta)
- ax.plot(x, y, z, label='r\'(t)')
- ax.legend() jpg521.com
- plt.show() www.feifanyule.cn
3) 运行结果
Python函数绘图的更多相关文章
- <编译原理 - 函数绘图语言解释器(1)词法分析器 - python>
<编译原理 - 函数绘图语言解释器(1)词法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 解释器分为三个实现块: 词法分析器: ...
- <编译原理 - 函数绘图语言解释器(2)语法分析器 - python>
<编译原理 - 函数绘图语言解释器(2)语法分析器 - python> 背景 编译原理上机实现一个对函数绘图语言的解释器 - 用除C外的不同种语言实现 设计思路: 设计函数绘图语言的文法, ...
- <编译原理 - 函数绘图语言解释器(3)解释器 - python>
<编译原理 - 函数绘图语言解释器(3)解释器 - python> <编译原理 - 函数绘图语言解释器(2)词法分析器 - python> <编译原理 - 函数绘图语言解 ...
- Python之绘图和可视化
Python之绘图和可视化 1. 启用matplotlib 最常用的Pylab模式的IPython(IPython --pylab) 2. matplotlib的图像都位于Figure对象中. 可以使 ...
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数作用域的查找顺序
函数作用域的LEGB顺序 1.什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 2.它们 ...
- Python函数讲解
Python函数
- Python函数信息
Python函数func的信息可以通过func.func_*和func.func_code来获取 一.先看看它们的应用吧: 1.获取原函数名称: 1 >>> def yes():pa ...
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
随机推荐
- Yarn 入门
Yarn 是快速.可靠.安全的 js 包管理器. 关键词: nodejs, 包管理, yarn 简介 Yarn 是快速.可靠.安全的 js 包管理器. 快速 - Yarn 会缓存它下载的每个包,所以无 ...
- 重装系统之U盘设为第一启动项
做好启动盘之后(教程:重装系统之制作U盘启动盘),接下来该设置U盘为第一启动项. 以我的电脑(华硕X450JN)为例,开机不停地按f2,进入系统引导界面. 其它牌子的电脑可以在开机时候试试esc,f1 ...
- LiveCharts文档-3开始-3类型和设置
原文:LiveCharts文档-3开始-3类型和设置 LiveCharts文档-3开始-3类型和设置 类型和设置 这一部分非常的重要,涉及到LiveCharts的基本构成单元的介绍 LiveChart ...
- Linux下修改/设置环境变量JAVA_HOME
export设置只对当前的bash登录session有效.这是存在内存里面的.你可以写入文件一般的文件.之后source它.或者放到/etc/profile 等等的位置里,不同的地方效果不同. 1. ...
- 系统引导修复,grub2下的各种骚作
新买的xps装了一个rhel7.5,各种恶心... 第一次:升级内核之后居然引导不了! 进入bios setup,把bios 引导的文件选择为 grub64.eif,成功进入系统 第二次:升级grub ...
- ABAQUS粘弹性边界及地震荷载施加的简单实现(Matlab生成input文件)
思路 粘弹性边界因为能够考虑地基辐射阻尼而使得结构抗震的计算结果更趋于合理,所以在需要考虑结构地基相互作用的结构抗震计算时,是较为常用的地基边界处理和地震荷载施加方法.而ABAQUS软件是经常用来进行 ...
- mysql下批量清空某个库下的所有表(库不要删除,保留空库)
总所周知,mysql下要想删除某个库下的某张表,只需要切换到该库下,执行语句"drop table tablename"即可删除!但若是该库下有成百上千张表,要是再这样一次次执行d ...
- 数组-在Shell脚本中的基本使用介绍
Shell脚本在运维工作中是极其重要的,而数组在shell脚本里的运用无论是在循环或运算方面都是非常实用的一个环节.下面是对shell脚本中数组方面一些操作在此进行记录,希望能帮助到有兴趣的朋友~1. ...
- SQL多表查询总结
前言 连接查询包括合并.内连接.外连接和交叉连接,如果涉及多表查询,了解这些连接的特点很重要.只有真正了解它们之间的区别,才能正确使用. 一.Union UNION 操作符用于合并两个或多个 SELE ...
- 第三周作业(三)---WordCounter
需求是这样的.写出一个程序,模仿wc.exe,可以统计出文件的一些信息(比如字符数.单词数目等等) 对于这个程序,我仍然用我从大一学来的C语言写的. 第一步:打开文件 printf("请输入 ...