《Python程序设计》正余弦函数图形绘制_第1页
《Python程序设计》正余弦函数图形绘制_第2页
《Python程序设计》正余弦函数图形绘制_第3页
《Python程序设计》正余弦函数图形绘制_第4页
《Python程序设计》正余弦函数图形绘制_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

«Python程序设计》实验报告

实验项目正余弦函数图形绘制

教研室物联网工程教研室

班级_____________________________

学号_____________________________

姓名_____________________________

年月日

实验四正余弦函数图形绘制

一、实验目的

1,熟悉Python程序的设计思路:

2.熟悉turtle库语法元素,了解其绘图坐标体系、画笔控制函数和运动命令函数;

3.熟悉matplotlib库语法元素,绘制正余弦函数图形,体验不同库函数的差异。

二、实验要求

1.用turtle库画正余弦函数图形,依次通过各个坐标点画出一条正弦余弦曲线。

2.用malploilib库画正余弦函数图形。

代码要求:

•要注意代码风格,代码起始有注释说明

•代码段与段之间要有空行

•标识符名称应该与其代表的意义一致

•关键代码应说明其功能

三、实验过程与结果

#**coding:UTF-8**

#开发团队:XXX

#开发工具:IDLE

#任务:用uinle库画正余弦函数图形

importturtleimportmath

turtle,speed(I)

#画x轴turtle.penup()

turtle.goto(-220,0)

turtle.pendown()

turtle,goto(220,0)

1

#画X轴箭头

turtle,setheading(150)

turtle.forward(20)

turtle.penupO

turtle,goto(220,0)

turtle,setheading(-150)

turtle,pendown()

turtle,forward(20)

#显示xturtle.penupO

turtle,goto(225,0)

turtle,write(*X')

#画y轴turtle.penupO

turtle.goto(0,-100)

turtle.pendown()

turtle.goto(0,100)

#画y轴箭头

turtle,setheading(240)

turtle,forward(20)

turtle.penupO

turtle.goto(0,100)

turtle,pendown()

turtle,setheading(-60)

turfIe.forward(20)

#显示Yturtle.penupO

turtle.goto(0,110)

turtle,write(*Y')

#画正弦曲线

x=-175

turtle,pensize(2)

turtle,color(*blue,)

turtle.penupO

turtle.goto(x,50*math.sin((x/100)*2*math,pi))

turtle,pendown()forxinrange(-175,176):

turtle.goto(x,50*math.sin((x/100)*2*math,pi))

#将-2n的位置标示出来turtle.penupO

2

pit.figure(figsize=(10,6),dpi=80)

x=np.1inspace(-np.pi,np.pi,256,endpoint=True)

C,S=np.cos(x),np.sin(x)

#设置线的颜色,粗细,和线型

pit.plot(x,C,color=z,blue/,,linewidth=2.5,linestyle="z-z,,labcl=r'$sin(x)$')

pit.plot(x,S,color="red”,1inewidth=2.5,1inestyle="一〃,label=r'$cos(x)S')

#如果觉得线条离边界太近了,可以加大距离

pit.xlim(x.min()*1.2,x.max()*1.2)

pit.ylim(C.min()*l.2,C.max()*1.2)

#当前的刻度并不清晰,需要重新设定,并加上更直观的标签

pit.xticks([-np.pi,-np.pi/2,0,np.pi/2,np.pi],

[f$-\pi$\r$-\pi/2$,,r'$+\pi/2$',r'$+\pi$'])

pit.yticks([-l,1],

[r$-l$\r'$l$'])

#添加图例

pit.legend(loc=,upperleft')

#pit.gca(),全称是gatcurrent,axis

ax=pit.gca()

ax.spines['right'].set_color(Jnone*)

ax.spines['top)].set_color('none,)

#由于我们移动的是左边和底部的轴,所以不用设置这两个也可以

ax.xaxis.set_ticks_position('bottom')

ax.yaxis.set_ticks_position(,left*)

#指定data类型,就是移动到指定数值

#ax.spines?bottom*].setposition(*zero,)

ax.spines]'bottom*].setposition((,data,,0))

ax.spines?left'].set_position(('data',0))

4

t=2*np.pi/3

#利用pit.plot绘制向卜的一条垂直的线,利用pit.scatter绘制一个点。

pit.plot([t,t],[0,np.cos(t)],color=*blue*,linewidth=2.5,linestyle=*—")

pit.scatter([t,],[np.cos(t),],50,color=,blue1)

pit.annotate(r*$sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',

xy=(t,np.sin(t)),xycoords=,data*,

xytext=(+10,+30),textcoords=,offsetpoints*,fontsize=16,

arrowprops=diet(arrowstyle=connectionstyle=/zarc3,rad=.2"))

#利用pit.plot绘制向上的一条垂直的线,利用pit.scatter绘制一个点。

pit.plot([t,t],[0,np.sin(t)],color=,red),linewidth=2.5,linestyle="一")

pit.scatter([t,],[np.sin(t),],50,color=,red*)

pit.annotate(r1$cos(\frac{2\pi}{3})=-\frac{1}{2}$\

xy=(t,np.cos(t)),xycoords=,data*,

xytext=(-90,-50),textcoords=,offsetpoints),fontsize=16,

arrowprops=dict(arrowsty1e=,,->,connectionstyle=,,arc3,rad=.2〃))

pit.show()

图二:用matplotlib库画正余弦函数图形

5

四、实验分析

调试运行中出现的错误信息原因分析。

本次实验遇到最大的难题是matplotlib库的安装。不是内部或外部命令,也不是可运行

的程序或批处理文件.

1:错误:Youshouldconsiderupgradingviathe"python-mpipinstall一一upgrade

pip'command.

原因:需要升级这个工具

解决方法:python-mpipinstal1-upgradepip

2:错误:Readtimeout超时了,是网速不行,在一定时间内没下完

解决方法:延迟等待时间,pip--dcfault-timcout=10Dinstall-Upip

重新安装matplo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论