неполное рисование ezplot - PullRequest
1 голос
/ 30 марта 2010

почему, когда я использую ezplot, например, в интервале [1 1,5], разрыв будет появляться в некоторых частях линий, но когда я использую более близкий интервал, такой как [1,3 1,5], разрыв будет аннулирован?

Ответы [ 2 ]

1 голос
/ 30 марта 2010

Проблема в том, что ezplot() полезен, но не настолько надежен.

Лучшим вариантом для построения функции без дискретных точек является fplot(). Проверьте документацию для него .

Вот пример того, как его использовать по сравнению с ezplot():

lowerBound = 0;
upperBound = 1;

%# The ezplot way:
ezplot('y=sin(1/x)',[lowerBound,upperBound,-1,1])

%# The fplot way:
fplot('sin(1/x)',[lowerBound,upperBound])

fplot() оценит больше точек, в которых функция меняется быстрее. Таким образом, при внимательном рассмотрении разрывы все равно будут вызывать проблемы на графике, но он будет стараться изо всех сил составить точный график.

Чтобы построить кривую уровня функции с тремя переменными, нужно немного больше набрать:

%# First create a grid where you want the function to be drawn
[x,y]=meshgrid(-2:.01:2);
     %# Remember that -2:.01:2 creates a vector with values from -2 to 2
     %# in steps of .01

%# Then define your function
z=-3*y./(x.^2+y.^2+1);

%# Now graph the level curve of the function.  I chose the level z=0.5:
contour(x,y,z,[0.5])
1 голос
/ 30 марта 2010

EZPLOT - это функция построения графиков общего назначения, которая автоматически выберет набор точек, в которых нужно оценить и построить функцию, которую вы ей передадите. В большинстве случаев все работает нормально. Но есть некоторые особые случаи, когда EZPLOT может иметь некоторые проблемы. Он может плохо отображаться вблизи разрывов или точек, в которых происходят быстрые изменения функции (что он может принять за разрыв).

Это недостаток функции, которая разработана так, чтобы быть достаточно общей, чтобы принимать любую функцию, которую вы ей даете: трудно сделать ее достаточно общей, чтобы обрабатывать все точно правильно, поэтому некоторые особые крайние случаи выглядят немного забавно. В таких случаях вам следует избегать таких функций, как EZPLOT (которые делают за вас большой выбор), и составлять графики самостоятельно, оценивая свои функции в точках , которые вы выбираете, и создавая эти точки с помощью PLOT функция. Вот полезная ссылка для этого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...