ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.12.2023
Просмотров: 50
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Такое преобразование можно сделать с помощью обычных формул
Надо только не забыть указать знак $ перед номерами строк 9 (m) и 11 (s) , чтобы зафиксировать положение соответствующих величин в строках.
Если матрица X велика, то удобнее воспользоваться формулой массива. (Рис. 26). Назовем соответствующие области на листе: X, m и s. Отметим пустую область N3:R7, размеры которой совпадают с ожидаемым результатом. После этого введем в Formula Bar выражение =(X-m)/s. Завершает ввод комбинация клавиш CTRL+SHIFT+ENTER. Если все сделано правильно, то в Formula Bar появится формула { =(X-m)/s}, заключенная в фигурные скобки {}. Это – признак формулы массива. .
2.2. Создание и изменение формул массива
Для того чтобы правильно ввести формулу массива, нужно выделить на листе область, размеры которой совпадают с ожидаемым результатом.
Если выделить слишком большую область, то при вычислении избыточные ячейки будут заполнены символами ошибки #N/A. Если область вывода будет меньше, чем нужно, то часть результатов пропадет. После выделения области, в Formula Bar записывается формула и нажимается CTRL+SHIFT+ENTER.
Альтернативно, сначала можно ввести формулу в одну ячейку, затем отметить область вывода, начиная с этой ячейки (право и вниз), потом перейти в Formula Bar и нажать CTRL+SHIFT+ENTER.
Для того, чтобы изменить формулу массива нужно выделить область содержащую результат. Затем нужно перейти Formula Bar. При этом фигурные скобки вокруг формулы { } исчезнут. После этого формулу можно изменить и нажать CTRL+SHIFT+ENTER.
Для того чтобы расширить область, которую занимает формула массива, достаточно выделить для нее новую область, перейти в Formula Bar и нажать CTRL+SHIFT+ENTER. А вот для того, чтобы уменьшить эту область (например, чтобы избавиться от символов #N/A) придется потратить больше сил. Сначала нужно встать на любую ячейку области, перейти в Formula Bar и скопировать строку формулы. Затем нужно стереть содержимое старой области и отметить новую, меньшую область. После этого опять перейти в Formula Bar, вставить формулу и нажать CTRL+SHIFT+ENTER.
Изменять отдельные ячейки в формуле массива нельзя. При попытке сделать это появляется предупреждение .
2.3. Простейшие операции с матрицами
С помощью формул массива матрицы можно складывать и умножать на числа.
Для перемножения двух матриц используется функция MMULT
2.4. Доступ к частям матрицы
Для доступа и отделения частей матрицы применяются две стандартные функции листа.
OFFSET / СМЕЩ
Возвращает ссылку на диапазон, отстоящий от ячейки или диапазона ячеек на заданное число строк и столбцов.
Синтаксис
OFFSET(reference, rows, cols [, height] [, width])
reference – это ссылка на область, начиная с которой вычисляется смещение;
rows – число строк, на которое надо сместиться (положительное – вниз, отрицательное вверх от начала);
cols –То же, но для столбцов (положительное – вправо, отрицательное влево от начала);
height – необязательный аргумент. Положительное число строк возвращаемой ссылки;
width – необязательный аргумент. Положительное число столбцов возвращаемой ссылки.
Примечания
-
Если аргументы height или width опущены, то предполагается, что используется такая же высота или ширина, как в аргументе reference; -
Аргумент reference – это ссылка на область, которая должна быть реальным, а не виртуальным массивом, т.е. находиться где-то на листе.
Пример
OFFSET является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER.
INDEX / ИНДЕКС
Возвращает значения элементов в массиве, выбранных с помощью индексов строк и столбцов.
Синтаксис
INDEX (reference [, row_num] [, column_num])
reference – это массив значений (матрица);
row_num – необязательный аргумент. Номер строки, из которой берутся значения;
col_num –необязательный аргумент. Номер столбца, из которого берутся значения;
Примечания
-
Если аргумент row_num опущен, то выбирается весь столбец; -
Если аргумент col_num опущен, то выбирается вся строка; -
Если указаны оба необязательных аргумента, то возвращается значение, находящееся в ячейке на пересечении соответствующей строки и столбца; -
Аргумент reference может быть ссылкой, как на область, так и на виртуальный массив.
Пример
INDEX является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER.
2.5. Унарные операции
К матрицам можно применять следующие унарные формулы.
MINVERSE / МОБР
Возвращает обратную матрицу.
Синтаксис
MINVERSE (array)
array – это массив значений (матрица).
Примечания
-
Матрица array должна быть квадратной; -
Если матрица вырождена, то выводится символ ошибки #VALUE!.
Пример
MINVERSE является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER.
2.6. Бинарные операции
К матрицам можно применять следующие бинарные операции.
MMULT / МУМНОЖ
Возвращает произведение двух матриц.
Синтаксис
MMULT (array1, array2)
array1, array2 – перемножаемые матрицы.
Примечания
-
Число столбцов в матрице array1 должно быть равно числу строк в матрицу array2, иначе выводится символ ошибки #VALUE!; -
В получаемом массиве должно быть не более 5461 элементов (Excel 2003).
Пример
MMULT является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER.
Для построения регрессионных зависимостей используются несколько стандартных функций листа.
TREND / ТЕНДЕНЦИЯ
Строит линейную регрессию
y=b+m1 x1+…+mJ xJ+e
Аппроксимирует известные значения вектора откликовknown_y's для заданных значений матрицы предикторов known_x's и возвращает значения y, для заданного массива new_x's.
Синтаксис
TREND(known_y's [,known_x's] [,new_x's] [,const])
known_y's – вектор известных значений откликов y (калибровочный набор);
known_x's – необязательный аргумент. Матрица известных значений предикторов X (калибровочный набор);
new_x's – необязательный аргумент. Матрица новых значений предикторов Xnew (проверочный набор) для которых вычисляются и выводятся значения откликов;
const – необязательный аргумент. Логическое значение, которое указывает, требуется ли, чтобы параметр b был равен нулю. Если const имеет значение TRUE или опущено, то b вычисляется обычным образом, иначе b=0.
Примечания
-
Вектор known_y's должен занимать один столбец, тогда каждый столбец матрицы массива known_x's интерпретируется как отдельная переменная; -
Если аргумент known_x's опущен, то предполагается, что это вектор чисел {1;2;3;...} такого же размера, как и known_y's; -
Матрица новых значений new_x's должна иметь столько же столбцов (переменных), как и матрица known_x's; -
Если аргумент new_x's опущен, то предполагается, что он совпадает с массивом known_x's. Результат является вектором, в котором число строк равно числу строк в массиве new_x's.
Функция TREND является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER. ,
LINEST / ЛИНЕЙН
Дополняет функцию TREND и выводит некоторые статистические значения, связанные с регрессией
y=b+m1 x1+…+mJ xJ+e
Синтаксис
LINEST(known_y's [,known_x's] [,new_x's] [,const] [,stats])
known_y's – вектор известных значений откликов y (калибровочный набор);
known_x's – необязательный аргумент. Матрица известных значений предикторов X (калибровочный набор);
new_x's – необязательный аргумент. Матрица новых значений предикторов Xnew (проверочный набор) для которых вычисляются и выводятся значения откликов;
const – необязательный аргумент. Логическое значение, которое указывает, требуется ли, чтобы параметр b был равен нулю. Если const имеет значение TRUE или опущено, то b вычисляется обычным образом, иначе b=0;
stats – необязательный аргумент. Логическое значение, которое указывает, нужно ли выводить дополнительные статистические значения. Если stats имеет значение FALSE или опущено, то выводятся только оценки коэффициентов mJ, …, m2, m1 и b . Иначе выводится целая таблица
mJ, …, m2, m1 и b – оценки регрессионных коэффициентов;
sJ, …, s2, s1 и sb – стандартные ошибки для оценок регрессионных коэффициентов;
R2 – коэффициент детерминации;
sy – стандартная ошибка оценки y;
F – F-статистика;
DoF – число степеней свободы;
SSreg – регрессионная сумма квадратов;
SSres – остаточная сумма квадратов.
Примечания
-
LINEST – это очень плохо сконструированная функция, очень неудобная в практическом применении; -
Примечания, представленные в описании функции TREND полностью применимы к функции LINEST.
Пример
Функция LINEST является функцией массива и ее ввод должен завершаться нажатием комбинации CTRL+SHIFT+ENTER.
2.9. Виртуальный массив
При анализе данных часто возникает проблема сохранения промежуточных результатов, которые нужны не сами по себе, а только для того, чтобы вычислить по ним другие, полезные значения. Например, остатки в методе PCA часто нам не интересны, а нужны только для определения полной объясненной дисперсии, ортогональных расстояний и т.п. При этом размеры таких промежуточных массивов могут быть очень велики, да и к тому же их приходится вычислять при различных значениях числа главных компонент. Все это ведет к заполнению рабочей книги большим количеством ненужных, промежуточных результатов. Этого можно избежать, если использовать виртуальные массивы. Поясним их суть на простом примере.
Предположим, что задана матрица A, а нужно вычислить детерминант матрицы AtA . На Рис. 38 показаны два способа вычисления. Первый – через последовательность промежуточных массивов, отмеченных красными стрелками. Второй – с помощью одной формулы, показанной зеленой стрелкой. Оба пути ведут к одному и тому же результату, но красный путь занимает на листе много места, а зеленый последовательно использует несколько промежуточных виртуальных массивов. Все они, по сути, совпадают с реальными массивами красного пути, но на лист не выводятся.
Первый массив – это транспонированная матрица At, получаемая как результат функции TRANSPOSE(A).
Второй виртуальный массив получается тогда, когда первый виртуальный массив умножается на матрицу A с помощью функции MMULT(TRANSPOSE(A), A).
И, наконец, к этому, второму виртуальному массиву применяется функция MDETERM.
Виртуальные массивы очень полезны при вычислении всяческих вспомогательных характеристик в анализе многомерных данных: остатков, собственных значений, и т.п. Подробно об этом рассказывается в пособии Расширение возможностей Chemometrics Add-In.
-
Mathcad как специализированная среда для решения математических задач: обзор основных возможностей.
Основные возможности системы Mathcad:
-
описание задачи и ее решение в привычном с точки зрения математики виде; -
богатый набор встроенных операторов и функций, реализующих разнообразные численные методы решения типовых уравнений и систем; -
выполнение операций в символьном виде (вычисление интегралов и производных в аналитической форме, вывод формул для корней уравнений и пр.); -
наличие средств для высококачественного оформления документов (близких к программе MS Word); -
импорт объектов разного типа для создания иллюстрированных материалов; -
интуитивно понятный интерфейс для работы с программным пакетом.
-
Mathcad. Структура рабочего листа. Типовые блоки и их создание. Привести примеры.
Документ системы Mathcad называют рабочим листом (WorkSheet), и он создается или изменяется в окне редактирования, которое доступно сразу после загрузки программы. Окно редактирования содержит два объекта: курсор в виде красного крестика, определяющего позицию ввода новых компонентов документа, и вертикальную прерывистую черту – границу страницы.
Перемещение курсора производится стрелками на клавиатуре или щелчком мыши в области окна редактирования. Изменить ориентацию и поля страницы можно через пункт меню Файл – Настройка страницы.