Здравствуйте, Anna!
Формирование матрицы A выполнено в 2х циклах : Сначала внутренний цикл по строкам первого столбца накапливает ячеи сверху вниз (Функция stack собирает вектор-столбец). Затем внешний цикл накапливает матрицу из собранных столбцов (функция augment объединяет столбцы бок о бок). К сожалению, блок программирования Маткада не содержит оператор уничтожения имени переменной (исключение Prime-версия). Поэтому, в каждый цикл пришлось добавить условный оператор if , для первого элемента каждого цикла он выполняет обычное присваивание, без накопления.
Транспонирование матрицы A в B выполнено аналогично в двойном цикле по строкам и столбцам. Только значения ячеек выбраны не из синус-функции , а из ячеек матрицы A .
Произведение матриц А на В можно было выполнить также в двойном цикле. Но Ваши преподаватели затребовали тройной цикл, и я заменил оператор суммирования на 3й внутренний цикл.
Функция identity(n) - создаёт Единичную матрицу n·n (нулевая матрица с единицами по диагонали).
Скриншоты и маткад-файл прилагаю. Для уменьшения объёма выводимой грфической информации я уменьшил кол-во цифр после запятой до 2х. Если мой файл откроется в Вашем Маткаде некорректно (с наложением областей), Вы можете подстроить отображение из меню Формат \ Результат \ вкладка ФорматЧисел \ ЧислоДесятичныхЗнаков либо растащить выделенные области мышкой.
Вопросы, задавайте в мини-форуме.