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

UptoLike

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

213
То же самое относится и к вновь создаваемым классам. Ника-
ких объявлений переменных или объектов не требуется. Объекты соз-
даются динамически посредством вызова конструктора класса.
Далее в качестве типового рассматривается класс полиномов
от одной переменной. Название класса и конструктора класса -
polynom. В этом классе объект является полиномом, например, вида
p(x) = x^3 - 2x - 5, который
создается в результате вызова конструкто-
ра polynom, применяемого к вектору коэффициентов
p = polynom([1 0 -2 -5])
p = x^3 - 2*x - 5.
Структура объекта. Один из первых шагов при проектиро-
вании нового класса объектов - это выбор структуры данных для рас-
сматриваемого класса. Объекты класса задаются в виде структур. По-
ля структуры и операции с полями видимы только
внутри методов для
данного класса.
Например, для класса polynom можно выбрать представление
полиномиального объекта в виде вектор-строки, содержащей коэффи-
циенты степеней переменной в убывающем порядке. Так что объект p,
принадлежащий классу polynom, - это структура с единственным по-
лем p.c, содержащим коэффициенты. Это поле доступно только для
методов, описанных в подкаталоге @polynom
.
Однако, это - не единственый способ представить полином.
Коэффициенты полинома могут быть упорядочены по возрастанию
степеней или представлены в виде вектор-столбца. Можно предста-
вить полином с точностью до скалярного множителя, определяя его
нулями. Выбор той или иной среди этих альтернативных структур для
такого простого объекта как полином не особенно существенен,
тру-
ден или важен, но для более сложных объектов выбор структуры дан-
ных может играть очень важную роль. Например, специальная струк-
тура данных sparse, выбранная для разреженных матриц, существен-
но сокращает время выполнения операций над ними.
Каталог класса. М-файлы, определяющие методы для объек-
тов данного класса объединяются в каталог
класса, название которого
задается как @<имя_класса>. Это означает, что М-файлы, опреде-
ляющие методы для класса polynom, должны быть размещены в ката-
логе @polynom.
Каталог класса обязательно является подкаталогом каталога,
описанного в пути доступа системы MATLAB, но не самим катало-
гом. Например, каталог @inline - это подкаталог каталога
toolbox/matlab/funfun, а
каталог @sym - это подкаталог каталога
toolbox/symbolic. Новый каталог @polynom должен быть подкатало-
         То же самое относится и к вновь создаваемым классам. Ника-
ких объявлений переменных или объектов не требуется. Объекты соз-
даются динамически посредством вызова конструктора класса.
         Далее в качестве типового рассматривается класс полиномов
от одной переменной. Название класса и конструктора класса -
polynom. В этом классе объект является полиномом, например, вида
p(x) = x^3 - 2x - 5, который создается в результате вызова конструкто-
ра polynom, применяемого к вектору коэффициентов
      p = polynom([1 0 -2 -5])
       p = x^3 - 2*x - 5.

         Структура объекта. Один из первых шагов при проектиро-
вании нового класса объектов - это выбор структуры данных для рас-
сматриваемого класса. Объекты класса задаются в виде структур. По-
ля структуры и операции с полями видимы только внутри методов для
данного класса.
         Например, для класса polynom можно выбрать представление
полиномиального объекта в виде вектор-строки, содержащей коэффи-
циенты степеней переменной в убывающем порядке. Так что объект p,
принадлежащий классу polynom, - это структура с единственным по-
лем p.c, содержащим коэффициенты. Это поле доступно только для
методов, описанных в подкаталоге @polynom.
         Однако, это - не единственый способ представить полином.
Коэффициенты полинома могут быть упорядочены по возрастанию
степеней или представлены в виде вектор-столбца. Можно предста-
вить полином с точностью до скалярного множителя, определяя его
нулями. Выбор той или иной среди этих альтернативных структур для
такого простого объекта как полином не особенно существенен, тру-
ден или важен, но для более сложных объектов выбор структуры дан-
ных может играть очень важную роль. Например, специальная струк-
тура данных sparse, выбранная для разреженных матриц, существен-
но сокращает время выполнения операций над ними.

        Каталог класса. М-файлы, определяющие методы для объек-
тов данного класса объединяются в каталог класса, название которого
задается как @<имя_класса>. Это означает, что М-файлы, опреде-
ляющие методы для класса polynom, должны быть размещены в ката-
логе @polynom.
        Каталог класса обязательно является подкаталогом каталога,
описанного в пути доступа системы MATLAB, но не самим катало-
гом. Например, каталог @inline - это подкаталог каталога
toolbox/matlab/funfun, а каталог @sym - это подкаталог каталога
toolbox/symbolic. Новый каталог @polynom должен быть подкатало-
                                                                  213