БлогNot. MathCAD: cделай это по-разному...

MathCAD: cделай это по-разному...

Просто пара-тройка "весёлых картинок" с занятий по MathCAD, чтоб не выкидывать, версия - Prime II или III, или 15-я, какая попалась:

4 способа извлечь строку из матрицы (Mathcad Prime)
4 способа извлечь строку из матрицы (Mathcad Prime)
2 способа найти скалярное произведение векторов
2 способа найти скалярное произведение векторов
2 способа узнать длину вектора
2 способа узнать длину вектора

Перестановка местами максимального и минимального элемента матрицы. На самом деле, условие не совсем корректно. Если максимальный и минимальный элементы единственны или нужны только первые их вхождения (или последние, если поменять знаки "<", ">" на "≤", "≥"), то достаточно следующего "школьного" и однопроходного кода:

Перестановка местами максимального и минимального элемента матрицы (только одна; Mathcad 14/15)
Перестановка местами максимального и минимального элемента матрицы (только одна; Mathcad 14/15)

Если же нужно все вхождения минимального элемента заменить на максимальный и наоборот, придётся делать 2 прохода по матрице, примерно так:

Перестановка местами максимального и минимального элемента матрицы (все вхождения)
Перестановка местами максимального и минимального элемента матрицы (все вхождения)

Конечно, значения максимума и минимума можно было найти стандартными функциями max, min, но они всё равно бы делали такой же проход.

Есть также вариант накапливать по условиям Ai,j = max, Ai,j = min индексы i,j в неких дополнительных массивах, а при Ai,j > max или Ai,j < min начинать накопление индексов заново - но размерности дополнительных массивов в худшем случае будут равны количеству элементов матрицы, плюс потом всё равно делать второй проход по этим сохранённым индексам.

При всём этом обмен местами минимальных и максимальных значений легко было бы сделать и без инструментов панели программирования (приведён пример для вектора):

обмен местами минимальных и максимальных значений в векторе без написания подпрограммы-функции
обмен местами минимальных и максимальных значений в векторе без написания подпрограммы-функции

То же самое - с определением номера максимального элемента вектора. Корректно было бы вернуть вектор, состоящий из всех номеров максимальных элементов, на случай, если их несколько:

список номеров элементов вектора, которые совпадают с максимальным (Mathcad 14/15)
список номеров элементов вектора, которые совпадают с максимальным (Mathcad 14/15)

В матрице найти номера строк, суммы элементов которых максимальны, учесть, что строк может быть больше одной:

Mathcad, номера строк, суммы элементов которых максимальны (Mathcad 14/15)
Mathcad, номера строк, суммы элементов которых максимальны (Mathcad 14/15)

Решаем символьно квадратное уравнение и сразу же упрощаем вид полученных mathcad формул:

Решаем символьно квадратное уравнение в Mathcad 14/15
Решаем символьно квадратное уравнение в Mathcad 14/15

09.06.2015, 16:19 [13628 просмотров]


теги: учебное алгоритм mathcad

показать комментарии (1)