Ограничение размеров массива
Ограничение размера массива зависит от памяти, доступной Вашей системе. Для большинства систем это будет по крайней мере 1 миллион элементов. Размер никогда не может превышать 8 миллионов элементов. Если попытаться определить массив больший, чем допускает Ваша система, появится сообщение об ошибке “недостаточно памяти”. Элементы могут быть распределены среди любой комбинации строк и столбцов. Когда объём доступной памяти ограничен, и определяются несколько очень больших массивов, допустимый размер массива может уменьшаться.
Рисунок 8: Использование функции augment для объединения двух матриц.
Некоторые из операторов Mathcad имеют особые значения в применении к векторам и матрицам. Например, символ умножения означает просто умножение, когда применяется к двум числам, но он же означает скалярное произведение, когда применяется к векторам, и умножение матриц — когда применяется к матрицам.
Таблица описывает векторные и матричные операторы Mathcad. Многие из этих операторов доступны из палитры символов. Обратите внимание, что операторы, которые ожидают в качестве аргумента вектор, всегда ожидают вектор-столбец, а не вектор-строку.
Чтобы заменить вектор-строку на вектор-столбец, используйте оператор транспонирования [Ctrl]1.
Операторы, не перечисленные в этой таблице, не будут работать для векторов и матриц. При попытке использовать такой оператор с вектором или матрицей Mathcad будет отмечать это сообщением об ошибке “неверная операция с массивом”, или “нескалярная величина”. Можно, однако, использовать оператор векторизации, чтобы выполнить любую скалярную операцию или функцию поэлементно на векторе или матрице. См. раздел “Выполнение параллельных вычислений” ниже в этой главе. Рисунок 9 показывает использование некоторых векторных и матричных операций.
Рисунок 9: Векторные и матричные операции.
В следующей таблице
A и B представляют массивы (векторы или матрицы).
u и v представляют векторы.
M представляет квадратную матрицу.
и представляют отдельные элементы векторов u и v.
z представляет скаляр.
m и n представляют целые числа.
|
Операция | Обозначение | Клавиши | Описание |
Умножение матрицы на скаляр |
| * | Умножает каждый элемент A на скаляр z. |
Скалярное произведение |
| * | Возвращает скаляр: . Векторы должны иметь одинаковое число элементов. |
Матричное умножение |
| * | Возвращает произведение матриц A и B, число столбцов в A должно соответствовать числу строк в B. |
Умножение матрицы на вектор |
| * | Возвращает произведение матриц A и v, число столбцов в A должно соответствовать числу строк в v. |
Деление |
| / | Делит каждый элемент массива на скаляр z. |
Сложение векторов и матриц | A + B | + | Складывает соответствующие элементы A и B, массивы A и B должны иметь одинаковое число строк и столбцов. |
Скалярная сумма | A + z | + | Добавляет z к каждому элементу A. |
Векторное и матричное вычитание | A - B | - | Вычитает соответствующие элементы массива A из элементов массива B, массивы A и B должны иметь одинаковые размеры. |
Скалярное вычитание | A - z | - | Вычитает z из каждого элемента A. |
Изменение знака | - A | - | Умножает все элементы A на -1. |
Степени матрицы, обращение матриц | Mn | ^ | n-ная степень квадратной матрицы M (использует умножение матриц). n должен быть целым числом. M-1 представляет матрицу, обратную к M, другие отрицательные степени — степени обратной матрицы. Возвращает матрицу. |
Длина вектора | |v| | | | Возвращает , где — вектор, комплексно сопряженный к v. |
Детерминант | |M| | | | Возвращает детерминант квадратной матрицы M, результат — скаляр. |
Транспонирование | AT | [Ctrl]1 | Возвращает матрицу, чьи строки — столбцы А, и чьи столбцы — строки A. А может быть вектором или матрицей. |
Векторное произведение | u x v | [Ctrl]8 | Возвращает векторное произведение для векторов с тремя элементами u и v. |
Комплексное сопряжение |
| " | Меняет знак мнимой части каждого элемента A. |
Суммирование элементов |
| [Ctrl]4 | Суммирует элементы вектора v; возвращает скаляр. |
Векторизация |
| [Ctrl] - | Предписывает в выражении с A производить операции поэлементно. Полное описание дано в разделе “Выполнение параллельных вычислений” |
Верхний индекс | A<n> | [Ctrl]6 | Извлекает n-ный столбец массива A. Возвращает вектор. |
Нижний индекс (вектора) | vn | [ | n-ный элемент вектора. |
Нижние индексы матрицы | Am,n | [ | Элемент матрицы, находящийся в m-ном ряду и n-ной строке. |
Mathcad содержит функции для обычных в линейной алгебре действий с массивами. Эти функции предназначены для использования с векторами и матрицами. Если явно не указано, что функция определена для векторного или матричного аргумента, не следует в ней использовать массивы как аргумент. Обратите внимание, что операторы, которые ожидают в качестве аргумента вектор, всегда ожидают вектор-столбец, а не вектор-строку. Чтобы заменить вектор-строку на вектор-столбец, используйте оператор транспонирования [Ctrl]1.
Если Вы используете Mathcad PLUS, Вы будете также иметь несколько дополнительных функций, определенных для векторов. Эти функции скорее предназначены для анализа данных, чем для действий с матрицами. Они обсуждены в Главе “Встроенные функции”.
Следующие таблицы перечисляют векторные и матричные функции Mathcad. В этих таблицах
A и B — массивы (векторы или матрицы).
v — вектор.
M и N — квадратные матрицы.
z — скалярное выражение.
Имена, начинающиеся с букв m, n, i или j — целые числа.
- Буквенные индексы
- Ниже приводится полный список предопределенных переменных Mathcad и их значений по умолчанию:
- Используемые числа
- Специальные операции над комплексными числами
- Многозначные функции
- Создание вектора
- Создание матрицы
- Изменение размера матрицы
- Нижние индексы и элементы вектора
- Изменение способа отображения массивов
- Графическое представление матриц
- Ограничение входных массивов
- Ограничение отображаемых массивов
- Ограничение размеров массива
- Размеры и диапазон значений массива
- Специальные типы матриц
- Специальные характеристики матрицы
- Формирование новых матриц из существующих
- Собственные значения и собственные векторы
- Разложения
- Решение линейной системы уравнений
- Определение составного массива
- Отображение составных массивов
- Операторы и функции для составных массивов
- Определение и использование дискретного аргумента
- Многократные вычисления по дискретному аргументу
- Множественные дискретные аргументы и двойные индексы
- Рекурсивные вычисления с несколькими переменными
- Рекурсивные вычисления с вектором
- Советы по набору операторов
- Переменный верхний предел суммирования
- Оператор суммирования элементов вектора
- Производные более высокого порядка
- Переменные пределы интегрирования
- Изменение точности вычисления интегралов
- Криволинейные и двойные интегралы
- Определение пользовательского оператора
- Использование пользовательского оператора
- Запись функций как операторов
- Тригонометрические функции и обратные им.
- Гиперболические функции
- Логарифмические и показательные функции
- Функции Бесселя
- Специальные функции
- Введение в дискретное преобразование Фурье
- Функция if
- Циклы “while”
- Оператор “break”
- Циклы “for”
- Подпрограммы
- Рекурсия
- Что делать, когда функция root не сходится
- Некоторые советы по использованию функции root
- Решение уравнений с параметром
- Нахождение корней полинома
- Как использовать найденное решение
- Что делать, когда Mathcad не может найти решения
- Что делать, когда имеется слишком мало ограничений
- Многократное решение уравнений
- Решение одинаковых задач относительно разных переменных
- Приближенные решения
- Использование символьного решения уравнений
- Дифференциальные уравнения первого порядка
- Дифференциальные уравнения второго порядка
- Уравнения более высокого порядка
- Системы оду первого порядка
- Системы дифференциальных уравнений более высокого порядка
- Гладкие системы
- Медленно изменяющиеся решения
- Нахождение приближенного решения только в конечной точке
- Двухточечные краевые задачи
- Дифференциальные уравнения с частными производными