2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 ContourPlot Mathematica
Сообщение20.12.2018, 20:59 
Приветствую, почему Mathematica не может корректно отобразить график неявной функции, например $(x+y)^2=0$ ?
Код:
ContourPlot[(x + y)^2 == 0, {x, -5, 5}, {y, -5, 5}]

Отображается пустая плоскость.
Причем $x+y=0$ отображается правильно.
Пробовал использовать параметр PlotPoints -> 600, но это не помогает.

В чем проблема?
Спасибо!

 
 
 
 Re: ContourPlot Mathematica
Сообщение20.12.2018, 21:46 
Возможно, трудно численно искать все множество нулей у такой функции. Вот так работает:

Код:
ContourPlot[(x + y)^2 == 10^-25, {x, -5, 5}, {y, -5, 5}]

 
 
 
 Re: ContourPlot Mathematica
Сообщение28.12.2018, 19:30 
Vince Diesel
К сожалению, на более сложных функциях это не всегда хорошо работает.

Пришла в голову идея: Пусть $f \in \mathbb{R}[x,y]$ и $f(x,y)=f_1^{2s_1} \ldots f_n^{2s_n}$ -- разложение $f$ командой Factor, где $f_i$ -- тоже полиномы от $x,y$. Именно в этом случае появляются проблемы с ContourPlot.

Какой командой из этого разложения можно получить полином $g=f_1 \ldots f_n$ ? У ContourPlot с такой функцией проблем уже не возникает.

Возможно все просто, но, что-то не могу додумать как это лучше сделать.

 
 
 
 Re: ContourPlot Mathematica
Сообщение28.12.2018, 20:18 
Ну, видимо проблемы с тем, что градиент на всей кривой равен нулю.

g[x_, y_] = Factor[f[x, y]^2] /. Power[a_, _] -> a

 
 
 
 Re: ContourPlot Mathematica
Сообщение28.12.2018, 22:18 
Vince Diesel
Спасибо!

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group