2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Maple нарисовать и застриховать на графике
Сообщение19.09.2011, 16:57 


25/02/11
74
Здравствуйте.
Мне както нарисовать графически нахождение экстремума
Вот такой у меня код
Код:
> f(x):=(x[1])^(2)-(x[2])^(2);
print(`output redirected...`); # input placeholder
         2       2
x -> x[1]  - x[2]
> g[1](x):=(x[1])^(2)-(x[2])^(2)-1=0;
print(`output redirected...`); # input placeholder
         2       2       
x -> x[1]  - x[2]  - 1 = 0
> extrema(f(x), g[1](x));
print(`output redirected...`); # input placeholder
                                     {1}

> plot({f(x), g[1](x)}, x = -2 .. 2);
%;
Error, (in plot) incorrect first argument [x[1]^2-x[2]^2, x[1]^2-x[2]^2-1 = 0]

И не получаеться нарисовать два графика
Цитата:
Error, (in plot) incorrect first argument [x[1]^2-x[2]^2, x[1]^2-x[2]^2-1 = 0]

И ещё хотел-бы узнать как можно в случае если точек получается множество. Заштриховать их.

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение19.09.2011, 19:32 


26/01/10
959
Ничего не понял из описания задачи. Если надо нарисовать два графика, это делается, например, так
Код:
with(plots):
P1 := plot(sin(x),x=-Pi..Pi):
P2 := plot(x^2,x=-Pi..Pi):
display(P1,P2);

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение20.09.2011, 17:18 


25/02/11
74
Извиняюсь. Я тут плохо написал просто
Значит мне нужно решить с maple
$$\begin{gathered}
  f(x) = x_1^2 - x_2^2 \to extr, \hfill \\
  {g_1}(x) = x_1^2 - x_2^2 - 1 = 0. \hfill \\ 
\end{gathered}$$

Хочу увидеть:
1. Решение.
2. График самой функции и (другим цветом) ограничение.
3. Сами точки относящиеся к экстремуму. (ещё каким-либо цветом)

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение20.09.2011, 19:09 


25/02/11
74
ccoder в сообщении #484515 писал(а):
1. Решение.

С этим пунктом уже справился
Цитата:
> NLPSolve(x[1]^2-x[2]^2, {x[1]^2-x[2]^2-1 = 0});
[1., [x[1] = 1.25000000000000000, x[2] = 0.750000000000000000]]


-- Вт сен 20, 2011 19:10:18 --

Вот как-бы ещё тут график красиво нарисовать

-- Вт сен 20, 2011 19:11:34 --

И ещё хотелбы спросить про
Цитата:
Warning, no iterations performed as initial point satisfies first-order conditions

которое получается если сделать
Цитата:
> NLPSolve(x[1]-x[2]^2, {x[1]^2+x[2]^2-5 <= 0, x[1]-x[2]-1 = 0});
Warning, no iterations performed as initial point satisfies first-order conditions

а именно. Если какие угрозы правильному ответу?

-- Вт сен 20, 2011 19:17:41 --

ccoder в сообщении #484515 писал(а):
2. График самой функции и (другим цветом) ограничение.
3. Сами точки относящиеся к экстремуму. (ещё каким-либо цветом)

Вот очень хотелбы получить вот такое чтото похожее
Изображение
(без промежуточных)

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение21.09.2011, 07:06 


26/01/10
959
Угроз правильному ответу быть не должно, так как он просто сообщает, что исходная точка сразу же удовлетворяет условиям оптимальности, то есть алгоритм не сделал ни одной итерации. Это не удивительно, так как у вас ограничение
$$
x_1^2-x_2^2 = 1
$$
и это же значение вы оптимизируете:
$$
x_1^2-x_2^2 = 1 \to extr
$$

по сути, любая допустимая точка - оптимальный ответ.

Соединять графики таким хитрым способом, как вам надо, не умею. Не уверен, что это вообще можно в Maple, но может быть кто-то другой подскажет...

-- Ср сен 21, 2011 07:14:26 --

Если нужны линии уровня, можете начать с этого:
Код:
with(plots):
contourplot(x^2-y^2,x=-3..3,y=-3..3);

Наверное, это как-то можно раскрасить, если поработать со справкой по команде.

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение21.09.2011, 22:07 


25/02/11
74
Zealint в сообщении #484690 писал(а):
по сути, любая допустимая точка - оптимальный ответ.

Слушайте. Мне вот тут надо найти и я сомневаюсь правильный-ли ответ, а именно полный-ли он
$$\begin{gathered}
  f(x) = {x_1} - x_2^2 \to extr, \hfill \\
  {g_1}(x) = {x_1} - {x_2} - 1 = 0, \hfill \\
  {g_2}(x) = x_1^2 + x_2^2 - 5 \leqslant 0. \hfill \\ 
\end{gathered} $$
делаю так (тоесть разъединяю)
Цитата:
> NLPSolve(x[1]-x[2]^2, {x[1]^2+x[2]^2-5 <= 0, x[1]-x[2]-1 = 0});
Warning, no iterations performed as initial point satisfies first-order conditions
[1.25000000000000000, [x[1] = 1.50000000000000000, x[2] = 0.500000000000000000]

]
> NLPSolve(x[1]-x[2]^2, {x[1]^2+x[2]^2-5 <= 0, x[1]-x[2]-1 = 0}, maximize);
Warning, no iterations performed as initial point satisfies first-order conditions
[1.25000000000000000, [x[1] = 1.50000000000000000, x[2] = 0.500000000000000000]

]


-- Ср сен 21, 2011 22:09:44 --

Цитата:
Лично я не знаком с этой функцией Maple, поэтому не отвечу. Вообще не видел, чтобы целевая функция стремилась к extr, надо либо min, либо max. На худой конец устремить к константе, но не все сразу.

Ну у меня само условие так написано. (если что)

-- Ср сен 21, 2011 22:45:18 --

Тоесть нельзя-ли "придраться"? (к ответу)

-- Ср сен 21, 2011 22:51:29 --

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение22.09.2011, 07:05 


26/01/10
959
ccoder в сообщении #485023 писал(а):
Тоесть нельзя-ли "придраться"? (к ответу)

По идее, нельзя. У вас слишком простые задачи, поэтому Maple сразу угадывает нужную точку и даже не делает дополнительного спуска. На всякий случай об этом предупреждает. А если говорить строго, то в Maple хоть и существуют ошибки, но вряд ли они проявятся на таких простых примерах.

Чистый математик обязательно вам скажет, что ответу не верит, так как не видел метода его получения. Он будет вынужден проверять его руками, чтобы убедиться. Так что ответ на "можно ли придраться" зависит от ситуации, в которой вы находитесь.

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение23.09.2011, 04:40 


25/02/11
74
Zealint, хочу сказать спасибо за помошь.

Если Вы имеете времени
Мне вот этот пример, но както хочеться теоретически обосновать.
Попал то он попал я только боюсь что этих точек может быть больше
Кстати, а почему вот если так, то не бурёт
Цитата:
extrema(x[1]-x[2]^2, {x[1]^2+x[2]^2-5 <= 0, x[1]-x[2]-1 = 0})
Error, (in unknown) invalid arguments

хотя если убрать
Цитата:
x[1]^2+x[2]^2-5 <= 0

то работает.

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение23.09.2011, 08:32 


26/01/10
959
ccoder в сообщении #485431 писал(а):
Попал то он попал я только боюсь что этих точек может быть больше

Да, эти точек может быть больше, чем одна. Чтобы найти их все аналитически, нужно решать руками, так как Maple не поможет.

Цитата:
Цитата:
extrema(x[1]-x[2]^2, {x[1]^2+x[2]^2-5 <= 0, x[1]-x[2]-1 = 0})
Error, (in unknown) invalid arguments

хотя если убрать
Цитата:
x[1]^2+x[2]^2-5 <= 0

то работает.

Не могу ответить, я не знаю как работает функция extrema. Может она с неравенствами не работает?

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение23.09.2011, 17:28 


25/02/11
74
Цитата:
This function employs the method of Lagrange multipliers.

Цитата:
Может она с неравенствами не работает?

похоже что так

 Профиль  
                  
 
 Re: Maple нарисовать и застриховать на графике
Сообщение24.09.2011, 17:17 


25/02/11
74
Уже понял как.
Проверить просто нужно элементарно
Цитата:
extrema(x[1]-x[2]^2, {x[1]-x[2]-1 = 0})

и получается одна точка.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group