Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пакет MATLAB






Вычисление корней полинома. Нахождение всех корней полиномов осуществляется с помощью функции roots, в качестве аргумента которой указывается вектор с коэффициентами полинома. Функция roots возвращает вектор корней полинома, в том числе и комплексных. Число корней полинома, как известно, совпадает со степенью полинома:

> > p=[1 0 3.2 -5.2 0 0.5 1 -3];

> > r=roots(p)

r =

-0.5668 + 2.0698i

-0.5668 - 2.0698i

-0.6305 + 0.5534i

-0.6305 - 0.5534i

1.2149

0.5898 + 0.6435i

0.5898 - 0.6435i

> > polyval(p, 1.2149) – вычисление значения полинома в заданной точке

ans =1.0e-012

Для решения уравнений и систем уравнений в аналитическом (общем) виде можно, как и в MATHCAD, использовать solve, для этого нужно объявить символьные переменные, например:

> > syms x; > > solve('sin(x)+cos(x)=0') ans = -1/4*pi   > > syms x; > > solve('sin(x)+cos(x)=1') ans = 1/2*pi

Для нахождения нулей одномерной действительной функции от действительной переменной можно использовать функцию fzero('< имя функции>, х). Когда х скалярная величина, то решение ищется в окрестности заданной этой точки путем отыскания интервала, где функция меняет знак. Если такой интервал не находится, то возвращается значение NaN. Когда х вектор длины 2, то он интерпретируется как интервал поиска, в котором функция меняет знак. В том случае, если это не так, формируется сообщение об ошибке. Функция fzero('< имя функции>, х, tol) возвращает результат с относительной погрешностью tol, задаваемой пользователем.

Пример. Вычислим действительные нули полинома

f(x) = х4 - 4 х3 + 12.

Сначала сформируем М-файл polynom4 для вычисления этой функции:

function у = polynom4(x)

у = х.^4-4*х.^3 + 12;

затем найдем корень полинома, стартуя из точки х0 = -0.5:

z = fzero(‘polynom4’, -0.5, eps)

z= 1.746170944975038е+000;

теперь найдем корень полинома, стартуя из точки х0 = 3.0:

z = fzero(' polynom4\ 3, eps)

z = 3.777351952771215e+000;

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

roots([1 -4 0 0 12])

ans = 3.777351952771212е+000 1.746170944975038е+000

-7.617614488731261е-001+1.113117638472703e+000i

-7.617614488731261е-001 - 1.113117638472703e+000i

Нетрудно видеть, что оба подхода дают согласованные результаты.

Функция fzero использует методы деления отрезка пополам, секущей и обратной квадратической интерполяции [7].

 

ТЕМА 2. ПРИБЛИЖЕННОЕ РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ

Лабораторная работа № 4

МЕТОД ГАУССА РЕШЕНИЯ СИСТЕМ

ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ (СЛАУ)

Цель работы: усвоить навыки решения системы линейных алгебраических уравнений методом Гаусса (схема единственного деления); используя метод Гаусса, определить корни системы линейных алгебраических уравнений, для матрицы коэффициентов вычислить определитель и найти обратную матрицу.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.