Моделирование в системе MATLAB. Часть 1. Основы работы в MATLAB. Терёхин В.В. - 216 стр.

UptoLike

Составители: 

214
гом рабочего каталога системы MATLAB или собственного персо-
нального каталога, который должен быть добавлен к пути доступа.
Конструктор класса. Каталог класса должен обязательно со-
держать М-файл, называемый конструктором класса. Название конст-
руктора должно совпадать с названиями класса и каталога без пре-
фикса @. Конструктор создает объекты, используя данные в виде
массива записей (структуры) и приписывая им метку класса.
Рассмотрим конструктор полиномов @polynom/polynom.m:
function p = polynom(v)
%POLYNOM Конструктор полиномов.
% Функция p = polynom(v) формирует полином, используя
вектор v,
% содержащий коэффициенты степеней переменной x, рас-
положенные
% в убывающем порядке.
if nargin == 0
p.c = [ ];
p = class(p, 'polynom');
elseif isa(a, 'polynom')
p = v;
else
p.c = v(:).';
p = class(p,'polynom');
end
Система MATLAB позволяет вызывать конструктор без аргу-
ментов. В этом случае конструктор должен создать шаблон объекта,
как
правило, с пустыми полями. Также возможно, что конструктор
будет вызываться с аргументом входа, который уже является объек-
том данного класса. В этом случае конструктор обычно возвращает
входной аргумент. Функция isa проверяет эту ситуацию. Если аргу-
мент входа существует и не принадлежит классу polynom, то он пе-
реформируется так, чтобы быть вектором
-строкой и присвавается по-
лю .c результата. И наконец, функция class используется, чтобы при-
писать метку результату, которая определяет его как polynom.
Следующий оператор является примером использования кон-
структора polynom
p = polynom([1 0 -2 -5])
p = x^3 - 2*x - 5
и формирует полином с заданными коэффициентами.
В общем виде функция конструктора удовлетворяет следую-
щим свойствам:
в отсутствии аргументов возвращается шаблон объекта;
гом рабочего каталога системы MATLAB или собственного персо-
нального каталога, который должен быть добавлен к пути доступа.
        Конструктор класса. Каталог класса должен обязательно со-
держать М-файл, называемый конструктором класса. Название конст-
руктора должно совпадать с названиями класса и каталога без пре-
фикса @. Конструктор создает объекты, используя данные в виде
массива записей (структуры) и приписывая им метку класса.
        Рассмотрим конструктор полиномов @polynom/polynom.m:
       function p = polynom(v)
       %POLYNOM Конструктор полиномов.
       % Функция p = polynom(v) формирует полином, используя
вектор v,
       % содержащий коэффициенты степеней переменной x, рас-
положенные
       % в убывающем порядке.
          if nargin == 0
             p.c = [ ];
             p = class(p, 'polynom');
           elseif isa(a, 'polynom')
             p = v;
           else
             p.c = v(:).';
             p = class(p,'polynom');
           end
        Система MATLAB позволяет вызывать конструктор без аргу-
ментов. В этом случае конструктор должен создать шаблон объекта,
как правило, с пустыми полями. Также возможно, что конструктор
будет вызываться с аргументом входа, который уже является объек-
том данного класса. В этом случае конструктор обычно возвращает
входной аргумент. Функция isa проверяет эту ситуацию. Если аргу-
мент входа существует и не принадлежит классу polynom, то он пе-
реформируется так, чтобы быть вектором-строкой и присвавается по-
лю .c результата. И наконец, функция class используется, чтобы при-
писать метку результату, которая определяет его как polynom.
        Следующий оператор является примером использования кон-
структора polynom
        p = polynom([1 0 -2 -5])
         p = x^3 - 2*x - 5
и формирует полином с заданными коэффициентами.
        В общем виде функция конструктора удовлетворяет следую-
щим свойствам:
    • в отсутствии аргументов возвращается шаблон объекта;

214