КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Решение одного нелинейного уравненияНайти действительный нуль функции одной переменной позволяет функция fzero, которая в зависимости от формы задания функции реализует следующие хорошо известные численные методы: деления отрезка пополам, секущей и обратной квадратичной интерполяции. Обращение к функции z = fzero(func, x0); где х0 – начальное значение аргумента, в окрестности которого отыскивается действительный корень функции func; z – найденное значение корня. Начальное значение х0 можно задать в виде вектора – границ интервала поиска корня. На концах указанного интервала функция должна иметь значения разных знаков. В противном случае будет выдано сообщение об ошибке. Входных аргументов у функции fzero может быть и больше. Например, можно указать третий фактический параметр z = fzero(func, x0, options); здесь options – управляющая структура задания дополнительных параметров для управления вычислительным процессом и контроля за ним. Формирование структуры выполняется функцией optimset. В общем случае аргументы задаются попарно по схеме options=optimset('вид контроля',значение); Наиболее часто используемые параметры optimset приведены в табл. 8.1.
Таблица 8.1
Вызов функции optimset без входных аргументов позволяет получить в командном окне Matlab перечень всего множества параметров с их допустимыми значениями (в фигурных скобках указываются значения, принятые по умолчанию). Список выходных аргументов функции fzero также может быть расширен [z, fval,flag] = fzero(func, x0, tol, trace); где fval – реальное значение функции в найденном приближении к корню z, flag – признак решения: 1 – корень найден; -1 – не удалось определить интервал со сменой знака функции; -3 – в процессе вычислений получена бесконечность (inf) или выполнена операция с неопределенным результатом (nan), например, деление нуля на ноль; -4 – в ходе вычислений получилось комплексное значение; -5 – решение сошлось в особую точку. Пример: Найдем корни уравнения . Выполним отделение корней графическим методом. Построим график функции на интервале [-5; 5]: fplot('sin(x)-x.^2.*cos(x)', [-5 5]) grid Из графика функции (рис. 8.1) видно, что у нее 4 корня: вблизи х =-5, х =-2, х=0 и х =5. Уточним корень вблизи х =-5: fx=inline('sin(x)-x.^2.*cos(x)'); [x1, fval]=fzero(fx,-5) Получим уточненное значение корня x1 = -4.7566 и значение функции в нем fval = 2.6645e-15. За одно обращение к fzero можно уточнить только один корень. Важной особенностью fzero является и то, что она вычисляет только вещественные корни и только те из них, в которых функция меняет знак, а не касается оси абсцисс. Так, например найти корень уравнения х 2 = 0 при помощи fzero не удастся! Нет интервалов, на которых функция меняет свой знак. А корень есть!
Дата добавления: 2014-11-08; Просмотров: 519; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |