9.2.1. Функции создания матриц

Самым наглядным способом создания матрицы или вектора является применение первой кнопки панели инструментов Matrix (Матрицы) (см. разд. "Массивы" гл. 4). Однако в большинстве случаев, в частности при программировании сложных проектов, удобнее бывает создавать массивы с помощью встроенных функций.

Определение элементов матрицы через функцию

  • matrix(M,N,f) — создание матрицы размера MXN, каждый i,j элемент которой есть f (i, j) (листинг 9.19);
    • м — количество строк;
    • N — количество столбцов;
    • f (i, j) — фуНКЦИЯ.

Листинг 9.19. Создание матрицы

Для создания матриц имеются еще две специфические функции, применяемые, в основном, для быстрого и эффектного представления каких-либо зависимостей в виде трехмерных графиков (типа поверхности или пространственной кривой). Все их аргументы, кроме первого (функции), необязательны. Рассмотрим первую из функций.

  • СгеаtеSрасе(F(или f1, f2, f3) , t0, t1, tgrid, fmap) — создание вложенного массива, представляющего х-, у- и z-координаты параметрической пространственной кривой, заданной функцией р;
    • F(t) — векторная функция из трех элементов, заданная параметрически относительно единственного аргумента t;
    • f1(t) ,f2(t), f3(t) — скалярные функции;
    • t0 — нижний предел t (по умолчанию -5);
    • t1 — верхний предел t (по умолчанию 5);
    • tgrid — число точек сетки по переменной t (по умолчанию 2о);
    • fmap — векторная функция от трех аргументов, задающая преобразование координат.

О вложенных массивах читайте в разд. "Создание тензора" гл. 4.

Рис. 9.4. Использование функции CreateSpace с разным набором параметров

Пример использования функции CreateSpace показан на рис. 9.4. Заметьте, для построения графика спирали не потребовалось никакого дополнительного кода, кроме определения параметрической зависимости в вектор-функции F!

Функция создания матрицы для графика трехмерной поверхности устроена совершенно аналогично, за тем исключением, что для определения поверхности требуется не одна, а две переменных. Пример ее использования иллюстрирует рис. 9.5.

Рис. 9.5. Использование функции CreateMesh с разным набором параметров

  • CreateMesh(F(или g, или f1, f2, f3) , s0, s1, t0, t1, sgrid, tgrid, fmap) - создание вложенного массива, представляющего х-, у- и z-координаты параметрической поверхности, заданной функцией F;
    • F(s,t) — векторная функция из трех элементов, заданная параметрически относительно двух аргументов s и t;
    • g (s, t) — скалярная функция;
    • f1(s,t),f2(s,t),f3(s,t) — скалярные функции;
    • s0, t0 — нижние пределы аргументов s, t (по умолчанию -5);
    • s1, t1 — верхние пределы аргументов s, t (по умолчанию 5);
    • sgrid, tgrid — число точек сетки по переменным s и t (по умолчанию 20);
    • fmap — векторная функция из трех элементов от трех аргументов, задающая преобразование координат.

Примеры вложенных массивов, которые создаются функциями createMesh и createspace, приведены в листинге 9.20. Каждая матрица из числа трех вложенных матриц, образующих массив, определяет х-, у- и z-координаты точек поверхности или кривой, соответственно.

Листинг 9.20. Результат действия функций CreateMeeh и CreateSpace (рис. 9.4 - 9.5)

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

В Mathcad легко создать матрицы определенного вида с помощью одной из встроенных функций. Примеры использования этих функций приведены в листинге 9.21.

  • identity (N) — единичная матрица размера NXN;
  • diag(v) — диагональная матрица, на диагонали которой находятся элементы вектора v;
  • geninv(A) — создание матрицы, обратной (слева) матрице А;
  • rref (A) — преобразование матрицы или вектора А в ступенчатый вид;
    • N — целое число;
    • v — вектор;
    • А —матрица из действительных чисел.

Размер NXM матрицы А для функции geninv должен быть таким, чтобы N>M.

Листинг 9.21. Создание матриц специального вида