15-1 通过linspace()及ufunc函数计算并绘制下述数学的函数图。x的取值范围为[-1000,+1000]。 y=2x^2+30x-11.5
代码:
import numpy as np
from matplotlib import pyplot as plt
x=np.linspace(-1000,1000,1000)#范围-1000到1000,等距生成1000个点
y=2*x**2+30*x-11.5
plt.plot(x,y)
plt.title('$y=2x^2+30x-11.5$')#标题
plt.xlabel('X')#x轴
plt.ylabel('Y')#y轴
plt.show()
运行结果:
15-2 请通过广播运算生成并打印九九乘法表
代码:
import numpy as np
from matplotlib import pyplot as plt
a=np.arange(1,10)
b=np.arange(1,10).reshape(9,1)
c=a*b
print(np.tril(c,0))#取矩阵的下三角矩阵
运行结果:
17-1 回顾一些数学教科书,将全部三角函数的图像画在一张图的多个子图里。
代码:
from matplotlib import pyplot as plt
import numpy as np
x=np.linspace(-2*np.pi,2*np.pi,1000,endpoint=True)#x的范围-2pi到2pi,取得到终点
fig=plt.figure(figsize=(8,6))#尺寸8*6英寸
#sin图像
ax=fig.add_subplot(231)
ax.plot(x,np.sin(x),c='red')
ax.set_title('y=sin(x)')
#cos图像
ax=fig.add_subplot(232)
ax.plot(x,np.cos(x),c='blue')
ax.set_title('y=cos(x)')
#tan图像
ax=fig.add_subplot(233)
ax.plot(x,np.tan(x),c='yellow')
ax.set_title('y=tan(x)')
#csc图像
ax=fig.add_subplot(234)
ax.plot(x,1/np.sin(x),c='green')
ax.set_title('y=scs(x)')
#sec图像
ax=fig.add_subplot(235)
ax.plot(x,1/np.cos(x),c='orange')
ax.set_title('y=sec(x)')
#cot图像
ax=fig.add_subplot(236)
ax.plot(x,1/np.tan(x),c='purple')
ax.set_title('y=cot(x)')
plt.show()
运行结果:
17-2 绘制下述二元函数的曲面。其中,x,y的取值范围均为[-2pi,2pi]。
z=sin(x)cos(y)
代码:
import numpy as np
from matplotlib import pyplot as plt
plt.figure(figsize=(8,6))
ax=plt.axes(projection='3d')
x,y=np.mgrid[-2*np.pi:2*np.pi:20j,-2*np.pi:2*np.pi:20j]#生成三维图像所需要的网络数据
z=np.sin(x)*np.cos(x)
ax.plot_surface(x,y,z,cmap='ocean_r')
ax.set_title('z=sin(x)cos(y)')#设置标题
ax.set_xlabel('X')#设置x轴
ax.set_ylabel('Y')#设置y轴
ax.set_zlabel('Z')#设置z轴
plt.show()
运行结果: