Как нарисовать множество {(x,y):f(x,y)<0}?

Форум пользователей пакета Maple

Модератор: Admin

martingal
Сообщения: 32
Зарегистрирован: Чт ноя 24, 2005 10:55 am

Как нарисовать множество {(x,y):f(x,y)<0}?

Сообщение martingal » Чт фев 09, 2006 6:41 pm

Подскажите, пожалуйста, как в Maple нарисовать на плоскости множество точек, удовлетворяющее условию {(x,y):f(x,y)<0}, где f - заданная (известная) функция.

Haystack
Сообщения: 233
Зарегистрирован: Ср янв 18, 2006 1:34 am
Откуда: Тула
Контактная информация:

Re: Как нарисовать множество {(x,y):f(x,y)<0}?

Сообщение Haystack » Сб фев 11, 2006 6:33 pm

martingal писал(а):Подскажите, пожалуйста, как в Maple нарисовать на плоскости множество точек, удовлетворяющее условию {(x,y):f(x,y)<0}, где f - заданная (известная) функция.


Такой функции вроде нет. В общем случае написать такую процедуру проблематично. В частном случае, для одной конкретной функции, это множество можно нарисовать с помощью маленьких полигонов.

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Сообщение Irmantas » Сб фев 11, 2006 8:49 pm

x^2+y^2<=1;
plots[implicitplot](x^2+y^2=1,x=-2..2,y=-2..2,filled=true,coloring=[red,white]);

martingal
Сообщения: 32
Зарегистрирован: Чт ноя 24, 2005 10:55 am

Сообщение martingal » Вс фев 12, 2006 3:52 pm

Спасибо. У меня в Maple 8 конструкция

plots[implicitplot](x^2+y^2=1,x=-2..2,y=-2..2, filled=true, coloring=[red,white]);

работает, хотя идентификатора coloring в help'е Maple 8 среди опций plot я не нашел (filled есть).

А можно ли рисовать множество, являющееся пересечением двух функций: {(x,y):f(x,y)<0,g(x,y)<0}?

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Сообщение Irmantas » Вс фев 12, 2006 9:51 pm

Paproboite tak

restart:y<=-x^2+1; y>=x^2-1;
> f:=x^2+y=1: g:=x^2-y=1:
> g1:=plots[implicitplot](f,x=-2..2,y=-2..2, color=red, thickness=2):
> g2:=plots[implicitplot](g,x=-2..2,y=-2..2, color=blue, thickness=2):
> S:=solve({f,g},{x,y}):
> S1:=min(seq(rhs(S[k][1]),k=1..nops([S]))):
> S2:=max(seq(rhs(S[k][1]),k=1..nops([S]))):
> N:=100:
> fy:=solve(f,y): gy:=solve(g,y):
> X:=k->S1+(S2-S1)*k/N:
>
> L:=seq(plottools[line]([X(k), min(subs(x=X(k),fy),subs(x=X(k),gy))],[X(k), max(subs(x=X(k),fy),subs(x=X(k),gy))],color=yellow),k=1..N):
> plots[display](g1,g2,L);

martingal
Сообщения: 32
Зарегистрирован: Чт ноя 24, 2005 10:55 am

Сообщение martingal » Пн фев 13, 2006 7:54 pm

Irmantas, спасибо!