(编辑:jimmy 日期: 2024/11/12 浏览:2)
通常在多个不等式的时候,需要分着写,比如
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 连续不等式语法糖实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。