2015-12-01 5 views
0

Я дал неявную функцию: sin(x)*tan(x)-(y^2-3)*ln(2*y+3)=0Ploting неявной функции в близости от точки

Моя задача состоит в том, чтобы:

  • участка кривой этой функции в близости от точки T(0,√3)
  • узнать, сколько несвязанный компоненты есть в x∈ [-1.7, 1.7], y∈ [-2, 2]

Моя попытка:

Сначала я подумал о том, чтобы просто построить кривую функции, используя ezplot по требуемой области, например: ezplot('sin(x)*tan(x)-(y^2-3)*log(2*y+3)',[-1.7, 1.7, -2, 2]). Но результат, который я получаю, очень странный. Я получаю две половины эллипса, обращенные друг от друга. Я могу только предположить, что я неправильно использовал функцию ezplot. Пожалуйста помоги.

+0

Что вы ожидаете вместо этого? – Daniel

+0

Я не знаю, как ответить на второй вопрос. Существуют два несвязанных компонента (нижняя половина эллипса)? – den

+0

@ Daniel задача кажется слишком простой, чтобы быть правдой – den

ответ

1

ezplot commant довольно хорошо, но кроме того, что вы могли бы также попробовать

[x,y]=meshgrid(-1.7:0.01:1.7, -2:0.01:2); 
contour(x,y,sin(x).*tan(x)-(y.^2-3).*log(2*y+3),[0,0]); 

вместо этого.

+0

Я хотел бы сделать это, как вы и предложили, но сначала у меня есть ошибка »Входные аргументы для контура должны быть реальными». Я зафиксировал его так: «Контур (X, Y, вещественный (z (X, Y)), [0,0],« r »), но результат не совпадает с« ezplot ». Теперь у меня есть много дополнительных кривых на рисунке. Также как я могу показать 20 пунктов в этом порядке: начать в точке '(0, sqrt (3))', 10 баллов 'x + = 0,1', 10 баллов' y + = 0,1'? – den

+0

Я думаю, проблема в том, что вы пытаетесь использовать 'log' на отрицательных числах. Обычно синтаксис для диапазонов: a: b: c, где a, b - начальное и конечное значения, а b - размер шага. – flawr