Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
matlab_shpora.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.52 Mб
Скачать

7) 5.3. Методы класса

Для нового класса следует определить методы обработки объектов, написав соответствующие функции. Какие методы должны быть реали­зованы в классе? Помимо функций, реализующих основное назначение создаваемого класса, в его определение необходимо включить также ряд стандартных методов, которые позволят данному классу вести себя в среде MATLAB аналогично встроенным типам данных. В табл. 5.1 пере­числены основные методы, включенные в классы MATLAB.

Таблица 5.1. Ьаювыс методы классов MATI.AB

Метол класса

Описание

class

constructor

Создание объекта класса

display

Вывод содержимого объекта, если выражение с пе­ременной этого класса не завершается разделителем точкой с запятой

set и get

Доступ к свойствам объекта. Функция get предна­значена для получения значений свойств, а функция set - для установки новых значений

subsref

Индексная ссылка, т. е. использование индексов или указателей полей к объекту, разметенному в правой части оператора присваивания (переопределение ме­тодов для a(i), а { i К a. field)

subsasgn

Индексное присваивание, т. с. использование индек­сов или указателей полей к объект)', размещенному в левой части оператора присваивания (переопределе­ние методов для a{i)=b, a{i}=b, a.field=b)

subindex

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

end

Последний индекс по указанной размерности

конверторы double, char

Преобразование объекта одного класса к другому классу

8)

subsref

Индексная ссылка, т. е. использование индексов или указателей полей к объекту, разметенному в правой части оператора присваивания (переопределение ме­тодов для a(i), a{i}, a. field)

subsasgn

Индексное присваивание, т. с. использование индек­сов или указателей полей к объекту, размещенному в левой части оператора присваивания (переопределе­ние методов для a{i)=b, a{i}=b, a.field=b)

subindex

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

9.Переопределение арифметических операций. Каждый встроенный оператор в системе MATLAB имеет имя. Поэтому любой оператор может быть переопределен путем создания М-файла с соответствующим названием в каталоге классов. Например, если p или q - полиномы, то выражение вида p + q задает вызов метода @polynom/plus.m, если он существует.

В данном случае это M-файл вида:

                  function r = plus(p, q)             % POLYNOM/PLUS Реализовать операцию p + q для объектов polynom..                   p = polynom(p);                   q = polynom(q);                   k = length(q.c) - length(p.c);                   r = polynom([zeros(1, k) p.c] + [zeros(1, -k) q.c]);

10.Полином задается вектором-строкой из чисел, т.е. коэффициентами, расположенными в порядке убывания показателя степени.

Основные команды для действий с полиномами таковы:

conv(p,q) – произведение полиномов p и q. Название команды происходит от слова convolution (свертка), поскольку коэффициенты произведения действительно получаются как компоненты свертки векторов p и q.

[q,r]=deconv(b,a) – частное (q) и остаток (r) от деления b на a, так что conv(a,q)+r=b.

polyval(p,x) – поэлементное вычисление значений полинома p на множестве x, где x может быть как вектором, так и матрицей.

roots(p) - вектор-столбец, содержащий все корни полинома. Их порядок не определен

11.set и get- Доступ к свойствам объекта. Функция get предназначена для получения значений свойств, set - для установки новых значений.

12.Для преобразования объекта класса polynom обратно в вектор его коэффициентов используется метод double

Для преобразования объекта к текстовому виду, применяемому при отображении объекта, используется метод char.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]