Python Matplotlib:绘制线性不等式函数

Python Matplotlib:绘制线性不等式函数,第1张

概述如何使用matplotlib绘制由一些线性不等式函数限定的区域. 例如,如果我们有3个函数: y <= -2 4x,y> = 2 0.5x,y <= 7-0.3x 我想像wolfram alpha那样绘制一些类似的东西:http://www3.wolframalpha.com/Calculate/MSP/MSP43251aca1dfd6ebcd862000067b9fd36a79h3igf?MSP 如何使用matplotlib绘制由一些线性不等式函数限定的区域.

例如,如果我们有3个函数:
y <= -2 4x,y> = 2 0.5x,y <= 7-0.3x 我想像wolfram Alpha那样绘制一些类似的东西:http://www3.wolframalpha.com/Calculate/MSP/MSP43251aca1dfd6ebcd862000067b9fd36a79h3igf?MSPStoreType=image/gif&s=39&w=200.&h=210.&cdf=Coordinates&cdf=Tooltips

解决方法 我写了一个非常简单的例子,仅对你的问题有效,但很容易扩展和概括它.唯一的技巧是使用simpy来简化查找根以构建所需多边形的问题. (摘自 http://docs.sympy.org/dev/modules/solvers/solvers.html)
import numpy as npimport matplotlib.pyplot as pltfrom sympy.solvers import solvefrom sympy import Symboldef f1(x):    return 4.0*x-2.0def f2(x):    return 0.5*x+2.0def f3(x):    return -0.3*x+7.0x = Symbol('x')x1,=  solve(f1(x)-f2(x))x2,=  solve(f1(x)-f3(x))x3,=  solve(f2(x)-f3(x))y1 = f1(x1)y2 = f1(x2)y3 = f2(x3)plt.plot(x1,f1(x1),'go',markersize=10)plt.plot(x2,f1(x2),markersize=10)plt.plot(x3,f2(x3),markersize=10)plt.fill([x1,x2,x3,x1],[y1,y2,y3,y1],'red',Alpha=0.5)xr = np.linspace(0.5,7.5,100)y1r = f1(xr)y2r = f2(xr)y3r = f3(xr)plt.plot(xr,y1r,'k--')plt.plot(xr,y2r,y3r,'k--')plt.xlim(0.5,7)plt.ylim(2,8)plt.show()

问候

总结

以上是内存溢出为你收集整理的Python Matplotlib:绘制线性不等式函数全部内容,希望文章能够帮你解决Python Matplotlib:绘制线性不等式函数所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1206740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存