Калькулятор матриц |
Калькулятор матриц предназначен для проведения операций алгебры карт над матрицами качеств и высот. Алгебра карт (локальные операции) — операции, при проведении которых, на основе одной или нескольких исходных матриц, создаётся новая матрица, причем значения ячеек этой матрицы зависят только от значений ячеек исходных матриц, имеющих одинаковые координаты.
Калькулятор матриц. 1 – Панель инструментов. 2 – «Выходной файл». 3 – «Легенда». 4 – «Область вычислений». 5 – «Матрицы». 6 – «Операторы». 7 – «Выражение»
Панель инструментов содержит 3 кнопки: выход; помощь; начать расчёт.
Панель «Выходной файл» предназначена для выбора пути сохранения создаваемой матрицы качеств.
На панели «Легенда» можно настроить количество цветов в палитре создаваемой матрицы, которое может изменяться от 1 до 32. Также с помощью галочки «Редактировать градации» можно включить ручное редактирование, при котором каждый цвет можно задавать вручную. Если галочка «Редактировать градации» не стоит, то пользователь задаёт только крайние цвета, а все промежуточные рассчитываются автоматически.
На панели «Область вычислений» можно выбрать область построения четырьмя способами: - «Вся область» – матрица будет построена в пределах прямоугольной области, охватывающей все открытые матрицы качеств и высот, проекция которых совпадает с проекцией документа; - «Прямоугольная область» – матрица будет построена в пределах выбранной прямоугольной области; - «Контур объекта» – матрица будет построена в пределах прямоугольной области, охватывающей выбранный объект; - «Область по координатам» – матрица будет построена в пределах прямоугольной области, заданной координатами двух углов.
Панель «Матрицы» содержит список всех открытые матриц качеств и высот, проекция которых совпадает с проекцией документа. Двойной щелчок по названию матрицы добавит её в поле ввода выражений.
Панель «Операторы» предназначена для удобной вставки операторов в выражение. Поддерживаются следующие математические операции: сложение; вычитание; умножение; деление; возведение в степень; логарифм; натуральный логарифм; синус угла в радианах; косинус угла в радианах; тангенс угла в радианах; котангенс угла в радианах; арксинус в радианах; арккосинус в радианах; арктангенс в радианах; арккотангенс в радианах; экспонента; модуль; округление; остаток от деления.
Разрешено использование скобок и . Условный оператор позволяет присвоить значения ячейкам создаваемой матрицы на основе заданного условия. Данный оператор состоит из трёх частей: - условие; - значение, которое будет присвоено ячейке матрицы при выполнении условия; - значение, которое будет присвоено при невыполнении условия.
Проверка ячеек на отсутствие данных –. При использовании этого оператора ячейкам создаваемой матрицы будет присвоено значение 1, если соответствующие ячейки исходной матрицы имеют значение NULL, то есть в них отсутствуют данные, и 0 в противном случае.
Установка значения ячеек NULL – . Данный оператор может быть использован только в качестве присваиваемого значения в условном операторе. При использовании данного оператора, соответствующим ячейкам создаваемой матрицы будет присвоено значение NULL, то есть они не будут содержать данных и отображаться на карте. Операции сравнения: равно; не равно; больше; больше или равно; меньше; меньше или равно.
Если использовать операторы сравнения вне условного оператора, то в создаваемой матрице всем ячейкам, кроме тех, которые имеют значение NULL, будет присвоено значение 1, если выполняется заданное условие, и 0 в противном случае. Логические операции: и; или; не.
Панель «Выражение» содержит поле ввода математических и логических выражений. Это поле предназначено для ввода выражений с помощью кнопок быстрого ввода, списка доступных матриц и клавиатуры. Если при выполнении какой-либо операции оказывается, что ячейка одной из исходных матриц имеет значение NULL, то есть не содержит данных, то соответствующей ячейке создаваемой матрицы также будет присвоено значение NULL. Исключением является оператор isNull, в результате использования которого всем ячейкам создаваемой матрицы будет присвоено значение 1 или 0. Если в выражении указано несколько матриц с разными размерами ячеек, то размер ячеек создаваемой матрицы будет равен размеру ячеек первой матрицы в выражении. Для расчёта значения каждой ячейки создаваемой матрицы будут взяты значения ближайших к ней ячеек исходных матриц.
Примеры. 1. Чтобы построить матрицу, элементы которой были бы равны сумме элементов матриц FirstMatrix.mtq и SecondMatrix.mtq нужно ввести следующее выражение: "1.FirstMatrix.mtq" + "2.SecondMatrix.mtq" 2. Чтобы построить матрицу, элементы которой были бы равны элементам матрицы FirstMatrix.mtq, округлённым в ближайшую сторону, нужно ввести следующее выражение: rnd("1.FirstMatrix.mtq") 3. Если есть матрица Height.mtq, в элементах которой хранится значение высоты, то можно узнать области, в которых высота больше 0, введя следующее выражение: "1.Height.mtq" > 0 Области результирующей матрицы, в которых условие выполняется, будут иметь значение 1, а в которых не выполняется – 0. 4. Чтобы отобразить только области где значение высоты, хранимое в элементах матрицы Height.mtq, меньше 0, нужно ввести следующее выражение: Con("1.Height.mtq" < 0; "1.Height.mtq"; setNull) 5. Чтобы построить матрицу, значения элементов которой были бы равны значениям элементов матрицы FirstMatrix.mtq, при этом, чтобы она была построена только на области, где элементы матрицы SecondMatrix.mtq имеют значение NULL, нужно ввести следующее выражение: Con(isNull("2.SecondMatrix.mtq"); "1.FirstMatrix.mtq"; setNull)
|