Составители:
224
В состав ядра системы MATLAB включены функции для ра-
боты с полиномами, описываемыми векторами их коэффициентов.
При создании новых полиномиальных объектов эти функции должны
быть переопределены. Во многих случаях переопределяемая функция
может просто применять исходную функцию к полю соответствую-
щей структуры. Например, имеется метод @polynom/roots.m:
function r = roots(p)
% POLYNOM/ROOTS. ROOTS(p) - это вектор, содер-
жащий корни
полинома p.
r = roots(p.c);
Оператор roots(p) дает следующий результат
roots(p)
ans =
2.0946
-1.0473+ 1.1359i
-1.0473- 1.1359i
Функция polyval вычисляет полином для заданного множест-
ва точек. В данном случае это метод @polynom/polyval.m. Он осно-
ван на методе Горнера.
function y = polyval(p,x)
% POLYNOM/POLYVAL POLYVAL(p,x) вычисляет значе-
ние полинома p в точке x
y = 0;
for a = p.c
y = y.*x + a;
end
Обе эти функции используются при переопределении функ-
ции plot. Область изменения
независимой переменной выбирается,
чтобы быть немного большей, чем интервал, содержащий все дейст-
вительные корни. Затем используется функция polyval, чтобы вычис-
лить значения полинома в нескольких сотнях точек области.
Результирующий метод @polynom/plot.m имеет вид:
function plot(p)
% POLYNOM/PLOT
% Функция PLOT(p) строит график полиномиального
% объекта p.
r = max(abs(roots(p)));
x = (-1.1:.01:1.1)*r;
y = polyval(p,x);
plot(x,y);
В состав ядра системы MATLAB включены функции для ра-
боты с полиномами, описываемыми векторами их коэффициентов.
При создании новых полиномиальных объектов эти функции должны
быть переопределены. Во многих случаях переопределяемая функция
может просто применять исходную функцию к полю соответствую-
щей структуры. Например, имеется метод @polynom/roots.m:
function r = roots(p)
% POLYNOM/ROOTS. ROOTS(p) - это вектор, содер-
жащий корни полинома p.
r = roots(p.c);
Оператор roots(p) дает следующий результат
roots(p)
ans =
2.0946
-1.0473+ 1.1359i
-1.0473- 1.1359i
Функция polyval вычисляет полином для заданного множест-
ва точек. В данном случае это метод @polynom/polyval.m. Он осно-
ван на методе Горнера.
function y = polyval(p,x)
% POLYNOM/POLYVAL POLYVAL(p,x) вычисляет значе-
ние полинома p в точке x
y = 0;
for a = p.c
y = y.*x + a;
end
Обе эти функции используются при переопределении функ-
ции plot. Область изменения независимой переменной выбирается,
чтобы быть немного большей, чем интервал, содержащий все дейст-
вительные корни. Затем используется функция polyval, чтобы вычис-
лить значения полинома в нескольких сотнях точек области.
Результирующий метод @polynom/plot.m имеет вид:
function plot(p)
% POLYNOM/PLOT
% Функция PLOT(p) строит график полиномиального
% объекта p.
r = max(abs(roots(p)));
x = (-1.1:.01:1.1)*r;
y = polyval(p,x);
plot(x,y);
224
Страницы
- « первая
- ‹ предыдущая
- …
- 224
- 225
- 226
- 227
- 228
- …
- следующая ›
- последняя »
