Как нарисовать график двух линейных уравнений на одном графике - PullRequest
0 голосов
/ 20 декабря 2018

Я написал некоторый код, который позволяет мне видеть 3 линейных уравнения на одном графике и их пересечения, используя numpy в python, и вот код для этой части:

import numpy as np

import math

import matplotlib.pyplot as plt

`t = np.linspace(0, 2*math.pi, 5)`

`a = np.sin(t)`

`b = np.cos(t)`

`c = a + b`

plt.plot(t, a, 'y')

plt.plot(t, b, 'b')

plt.plot(t, c, 'r')

plt.show()

Это показывает3 графика на одной оси, которая показывает мои пересечения.Теперь у меня есть 2 различных линейных уравнения с переменными x и y в уравнениях, но, используя метод, который я использовал выше, программа на python не запустится и не увидит, как я могу нарисовать 2линейные уравнения в виде графиков на одной оси в коде питона.

Вот два уравнения:

x*sin⁡(x + 0.16y) = y

и

(x^2)/(4)^2 + ((y+1)^2)/4 = 1

Буду очень признателен за помощь в программировании кода для графиков этих линейных уравнений.

1 Ответ

0 голосов
/ 20 декабря 2018

Это неявные функции.Вы можете увидеть здесь для соответствующего поста.

Вот почти то, что вы хотите:

from pylab import *
a,b,c,d = -5,5,-5,3
X=np.linspace(a,b,1000)
Y=np.linspace(c,d,1000)
x,y=np.meshgrid(X,Y)
z1 = (x**2)/4**2 + ((y+1)**2)/2**2 - 1
z2 = x*np.sin(x+.16*y)-y
imshow((abs(z1)>2e-2)&(abs(z2)>4e-2),extent=[a,b,c,d])

Для enter image description here

...