时间:2020-07-19 python教程 查看: 1246
通常在多个不等式的时候,需要分着写,比如
x = 1
if x>0 and x<3:
print(True)
但是在Python中居然可以连着一起写,
x = 1
if 0<x<3:
print(True)
补充知识:python不等比等值线实现
我就废话不多说了,大家直接看代码吧!
import numpy as np
import matplotlib.pyplot as plt
dx=1
dy=1
x=np.arange(-2.0,2.0,dx)#
y=np.arange(-3.0,3.0,dy)#这里的x,y是长度不相等的列表
X,Y=np.meshgrid(x,y)
def f(x,y):
return(1-y5+x5)*np.exp(-x2-y2)
plt.grid(True)#显示网格
C=plt.contour(X,Y,f(X,Y),8,colors=‘black') #生成等值线图
ct=plt.contourf(X,Y,f(X,Y),8)#填充等值线
plt.clabel(c,fontsize=10,colors=‘k')#设置显示文字
plt.colorbar(ct)#设置颜色条,(显示在图片右边)
plt.show()
关键就是contour,与contourf这两个函数,如下面所示,这两个函数的三个参数的形状必须是相同的,如下图X、Y、f(X,Y)都是(6,4)。
>>> X
array([[-2., -1., 0., 1.],
[-2., -1., 0., 1.],
[-2., -1., 0., 1.],
[-2., -1., 0., 1.],
[-2., -1., 0., 1.],
[-2., -1., 0., 1.]])
>>> Y
array([[-3., -3., -3., -3.],
[-2., -2., -2., -2.],
[-1., -1., -1., -1.],
[ 0., 0., 0., 0.],
[ 1., 1., 1., 1.],
[ 2., 2., 2., 2.]])
>>> X.shape
(6, 4)
>>> Y.shape
(6, 4)
>>> f(X,Y)
array([[ 4.79189834e-04, 1.10321829e-02, 3.01119922e-02,
1.11229828e-02],
[ 3.35462628e-04, 2.15614304e-01, 6.04416083e-01,
2.29090198e-01],
[-2.02138410e-01, 1.35335283e-01, 7.35758882e-01,
4.06005850e-01],
[-5.67784806e-01, 0.00000000e+00, 1.00000000e+00,
7.35758882e-01],
[-2.15614304e-01, -1.35335283e-01, 0.00000000e+00,
1.35335283e-01],
[-2.11341456e-02, -2.15614304e-01, -5.67784806e-01,
-2.02138410e-01]])
>>> t=f(X,Y)
>>> t.shape
(6, 4)
以上这篇python 连续不等式语法糖实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持python博客。