Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Use Rule Solutions - Wolfram Mathematica

Использование решений, данных в виде правил

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

Решим простое уравнение x+3=5, найдя значение переменной x:

In[62]:=

UseRuleSolutionsRU_1.gif

Out[62]=

UseRuleSolutionsRU_2.gif

Решение этого уравнения содержится во вложенном списке, являющимся списком в списке. В Mathematica списки обозначаются символами {}. Составляющие списка называются элементами, обращение к которым происходит по их позиции в списке.

Чтобы использовать это решение, Вам, прежде всего, нужно извлечь его из вложенного списка. Используйте для этого [[   ]] (краткую форму записи функции Part), с указанием позиции решения во вложенном списке. В данном случае решение представляет собой первый (и единственный) элемент вложенного списка:

In[63]:=

UseRuleSolutionsRU_3.gif

Out[63]=

UseRuleSolutionsRU_4.gif

Теперь Вы можете использовать решение при помощи /. (краткая форма записи функции ReplaceAll), подставив это решение в выражение x+4:

In[73]:=

UseRuleSolutionsRU_5.gif

Out[73]=

UseRuleSolutionsRU_6.gif

    

Уравнения второй степени имеют два решения. Результатом являются два подсписка, по одному на решение:

In[77]:=

UseRuleSolutionsRU_7.gif

Out[77]=

UseRuleSolutionsRU_8.gif

В данном случае используется второе решение:

In[78]:=

UseRuleSolutionsRU_9.gif

Out[78]=

UseRuleSolutionsRU_10.gif

    

Когда Вы решаете систему линейных уравнений, множество решений выводится одним подсписком.

Создадим список простой системы линейных уравнений для решения:

In[78]:=

UseRuleSolutionsRU_11.gif

Out[78]=

UseRuleSolutionsRU_12.gif

Решим уравнение. В результате получим вложенный список, содержащий единственный набор решений:

In[79]:=

UseRuleSolutionsRU_13.gif

Out[79]=

UseRuleSolutionsRU_14.gif

Внутренний список, содержащий набор решений, является первым (и единственным) элементом вложенного списка. И значит, применение [[1]] к вложенному списку даст список решений:

In[80]:=

UseRuleSolutionsRU_15.gif

Out[80]=

UseRuleSolutionsRU_16.gif

Здесь используется набор решений:

In[81]:=

UseRuleSolutionsRU_17.gif

Out[81]=

UseRuleSolutionsRU_18.gif

Вы можете извлечь часть набора решений применив расширенный синтаксис, то есть включив указание позиции требуемого решения внутри списка.

Извлечем решение для первой переменной:

In[83]:=

UseRuleSolutionsRU_19.gif

Out[83]=

UseRuleSolutionsRU_20.gif

Подставим его в выражение:

In[84]:=

UseRuleSolutionsRU_21.gif

Out[84]=

UseRuleSolutionsRU_22.gif

Таким же образом подставим решения для второй и третьей переменных:

In[91]:=

UseRuleSolutionsRU_23.gif

Out[91]=

UseRuleSolutionsRU_24.gif

    

Эта система уравнения имеет два набора решений:

In[2]:=

UseRuleSolutionsRU_25.gif

Out[2]=

UseRuleSolutionsRU_26.gif

Так производится подстановка обоих наборов решений:

In[3]:=

UseRuleSolutionsRU_27.gif

Out[3]=

UseRuleSolutionsRU_28.gif

    

Здесь будет показано, как проверить решения уравнения.

Сначала решим квадратное уравнение с дополнительным параметром:

In[96]:=

UseRuleSolutionsRU_29.gif

In[97]:=

UseRuleSolutionsRU_30.gif

Out[97]=

UseRuleSolutionsRU_31.gif

Проверим результаты при помощи подстановки:

In[98]:=

UseRuleSolutionsRU_32.gif

Out[98]=

UseRuleSolutionsRU_33.gif

Обратите внимание, что результат подстановки дается в форме уравнения, а не в виде значений True или False (Истина или Ложь).

Используем функцию Simplify для того, чтобы определить, удовлетворяют ли уравнению подставленные результаты. Для каждой подстановки ответом является True, что указывает на то, что подставленные результаты удовлетворяют уравнению:

In[99]:=

UseRuleSolutionsRU_34.gif

Out[99]=

UseRuleSolutionsRU_35.gif

Здесь показано как построить, при помощи подстановки, график решения как функцию параметра a :

In[70]:=

UseRuleSolutionsRU_36.gif

Out[70]=

UseRuleSolutionsRU_37.gif

Таким же образом строится график только первого из решений sol:

In[72]:=

UseRuleSolutionsRU_38.gif

Out[72]=

UseRuleSolutionsRU_39.gif