Пример. Используем уже определенную выше функцию f(x)

Используем уже определенную выше функцию f(x).

В качестве демонстрации используем символьное вычисление коэффициентов полинома, хотя в данном случае легко и без этого запи­сать вектор коэффициентов,

v:= f(t) coeffs, t®

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

Определяем значения корней, которые совпадают с определенными ранее с помощью функции roots,

polyroots(v)=

3. Вычислительный блок Given – Find

Для решения систем уравнений используется вычислительный блок, который состоит из 3 частей:

· Given - ключевое слово;

· система уравнений, записанная логическими операторами (панель Логический) в виде равенств и, возможно, неравенств;

· Find(x,y,z...) – встроенная функция для решения системы относительно переменных x,y,z,...

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

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

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

Погрешность выполнения уравнений определяется системной константой CTOL, по умолчанию равной 0.001. При необходимости можно присвоить ей и другое значение.

Функция Find реализует один из следующих градиентных методов:

· сопряженных градиентов;

· Левенберга-Марквардта;

· квази-Ньютоновский.

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: