Самоучитель Matlab
На заметку
В качестве "дополнительного" решения указано множество вида 5 + iy , где
|
|
|
|
|
|
через i обозначена мнимая единица i2 = −1 . Через y |
2 |
обозначена действи- |
тельная переменная. Если в выражение z2 − 5z + 6 |
подставить значение |
z = |
5 |
+ iy , получим действительное выражение −y2 − |
1 |
< 0. |
|
|
2 |
|
4 |
|
С одной стороны, это удобно. С другой стороны – ситуация существенно усложняется, а простые задачи нередко становятся сложными. Поэтому нередко приходится явно указывать, что решение ищется на каком-то множестве – обычно это множество действительных чисел. Например, чтобы найти решение неравенства на множестве действительных чисел, используем команду solve(x^2-5*x+6<0,x) assuming x in R_. От предыдущей команды она отличается инструкцией assuming x in R_. Состоит она из ключевого слова assuming и инструкции x in R_ - это инструкция в формате переменная in множество. Переменной в данном случае является x, а множеством, как отмечалось, является множество действительных чисел, что стандартно обозначается как R_.
Попытка решить неравенство на множестве действительных чисел приводит к ожидаемому результату. При решении более сложного полиномиального неравенства также разумно четко определить область поиска решений (команда solve(x^3-11*x^2+31*x-21<0,x) assuming x in R_). Получаем правильное решение для неравенства x3 −11x2 + 31x −21 < 0 , которое состоит в объединении интервалов x (−∞,1) (3, 7).
Решение дифференциальных уравнений
Все это так прямолинейно и перпендикулярно, что мне неприятно.
В. Черномырдин
Дифференциальные уравнения также можно решать функцией solve(). Правда, в этом случае необходимо приложить некоторые усилия – а именно, как-то намекнуть, что решается именно дифференциальное уравнение, а не какое-то другое. Существует несколько способов добиться этого. Но самый простой вариант, пожалуй, состоит в том, чтобы в явном виде указать метод поиска решения – для дифференциальных уравнений это ode
(сокращение от ordinary differential equation, то есть обыкновенное дифференциальное уравнение). Синтаксис вызова функции solve() имеет такой вид: ode::solve(). Первым аргументом указывается решаемое уравнение или заключенное в фигурные скобки множество уравнений (если решается