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

Матрица произвольных размеров

Читайте также:
  1. Бостонская матрица
  2. БП0-2-2.0 (Биопамять Бытия Матрица) 2000 изм
  3. ВТОРАЯ ПЕРИНАТАЛЬНАЯ МАТРИЦА
  4. Вторая перинатальная матрица
  5. Действия с матрицами
  6. Деконструкция понятий свободы воли, судьбы, кармы и риска на примере фильма Матрица: Перезагрузка.
  7. Задание 2 Определение линейных размеров мелких круговых частиц по дифракционным кольцам

Данный тип в MAXScript реализует матрицу с заданными программистом размерами

 

Литералы

Литералов для задания матриц произвольного размера не предусмотрено

 

Конструкторы

Матрица задается следующим образом

BigMatrix Число Число

Первый параметр указывает количество строк, второй – столбцов.

 

Свойства

Для матриц определены два свойства

Матрица. rows

возвращает количество строк в матрице и

Матрица. columns

количество столбцов. Оба свойства доступны только для чтения.

 

Операторы

Для матриц, кроме двух операций сравнения, равенства и неравенства

Матрица_1 = = Матрица_2

Матрица_1! = Матрица_2

определена так же операция сложения

Матрица_1 + Матрица_2

Матрицы складываются поэлементно. Попытка сложить матрицы с разным количеством строк или столбцов приводит к ошибке.

Операция индексирования для матрицы определена следующим образом.

Матрица [ Число ]

возвращает объект типа BigMatrixRowArray, который представляет собой не что иное, как одномерный массив и является строкой матрицы. Номер строки определяется числом, стоящим в квадратных скобках. Естественно, к любому элементу полученного массива доступ осуществляется обычным способом.

Объект_типа_BigMatrixArray [ Число ]

Поэтому элемент матрицы можно прочитать или записать так

Матрица [ Число_1 ] [ Число_2 ]

Первое число указывает строку матрицы, второе – столбец.

Доступ к столбцу матрицы не определен.

 

Методы

Как это ни странно, но метод копирования для матриц произвольного размера не определен.

Функция

invert Матрица

вычисляет обратную матрицу, то есть такую, которая при умножении на исходную дает единичную. Следует только отметить, что обращение производится “на месте”, то есть если записать такой скрипт

m1 = invert m

где m – матрица произвольного размера, то не следует думать, что Вы получите две матрицы, прямую и обратную. На самом деле и матрица m и матрица m1 будут иметь одно и то же значение. Строго говоря, реально у Вас получится одна матрица с разными именами m и m1, как это и описано в главе “Присвоение значения по ссылке”. Поэтому при работе с матрицами операцией присвоения надо пользоваться с осторожностью. Еще одна особенность обращения матриц состоит в том, что оно определено только для “квадратных” матриц, у которых число строк равно числу столбцов.

Транспонирование матрицы осуществляется с помощью функции

transpose Матрица

Результатом является матрица, у которой элемент в строке i и столбце j равен элементу в строке j и столбце i исходной матрицы. Транспонирование так же осуществляется “на месте”.

Функция

clear Матрица

освобождает память, занимаемую указанной матрицей, и устанавливает ее размерность ноль на ноль.

Если надо увеличить или уменьшить размерность матрицы, то для этого используется функция

setSize Матрица Число_1 Число_2

Первое число задает новое количество строк, второе – столбцов. Элементы старой матрицы при этом не сохраняются, указанная матрица, получив новую размерность, заполняется “мусором”.

Проще всего заполнить матрицу с помощью функции

identity Матрица

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

 


Дата добавления: 2015-10-31; просмотров: 159 | Нарушение авторских прав


Читайте в этой же книге: Выражения сравнения | Блоковые выражения | Контекстные выражения | Каскадирование префиксов | Операторы цикла do и while | Создание функций, локальных внутри структуры | Символьные строки | Логические (Булевы) значения | Точка в трехмерном пространстве | Точка в двумерном пространстве |
<== предыдущая страница | следующая страница ==>
Произвольный поворот| Прямоугольник

mybiblioteka.su - 2015-2024 год. (0.006 сек.)