- •Содержание
- •Знакомство с Mathcad
- •1.3. Интерфейс пользователя
- •1.3.1. Меню
- •1.3.2. Панели инструментов
- •1.3.3. Настройка панели инструментов
- •1.3.4. Рабочая область
- •1.3.5. Строка состояния
- •1.4. Справочная информация
- •2. Редактирование документов
- •2.1. Работа с документами
- •2.1.1. Управление документами
- •2.1.2. Создание документа на основе шаблона
- •2.1.3. Сохранение документа
- •2.1.4. Открытие существующего документа
- •2.1.5. Закрытие документа
- •2.2. Ввод и редактирование формул
- •2.2.1. Элементы интерфейса
- •2.2.2. Ввод формул
- •2.2.3. Перемещение линий ввода внутри формул
- •2.2.4. Изменение формул
- •2.2.5. Ввод символов, операторов и функций
- •2.2.6. Управление отображением некоторых операторов
- •2.3. Ввод и редактирование текста
- •2.3.1. Ввод текста
- •2.3.2. Редактирование текста
- •2.3.3. Импорт текста
- •2.3.4. Математические символы внутри текста
- •2.3.5. Гиперссылки
- •2.4. Правка документа
- •2.5. Печать документа
- •2.6. Посылка документа по электронной почте
- •Лекция 2. Автоматизация вычислений в MathCad. Типы данных
- •3.1. Переменные и функции
- •3.1.1. Определение переменных
- •3.1.3. Функции
- •3.1.4. Определение функции пользователя
- •3.1.5. Вывод значений переменных и функций
- •3.1.6. Символьный вывод
- •3.1.7. Допустимые имена переменных и функций
- •3.2. Операторы
- •3.2.1. Арифметические операторы
- •3.2.2. Вычислительные операторы
- •3.2.3. Логические операторы
- •3.2.4. Матричные операторы
- •3.2.5. Операторы выражения
- •3.2.6. Создание оператора пользователя
- •3.3. Управление вычислениями
- •3.3.1. Режимы вычислений
- •3.3.2. Прерывание вычислений
- •3.3.3. Вычисления в ручном режиме
- •3.3.4. Отключение вычисления отдельных формул
- •3.3.5. Оптимизация вычислений
- •3.3.6. Диалоговое окно Worksheet Options
- •3.4. Сообщения об ошибках
- •4. Типы данных
- •4.1. Типы данных
- •4.1.1. Действительные числа
- •4.1.2. Комплексные числа
- •4.1.3. Встроенные константы
- •4.1.4. Строковые выражения
- •4.2. Размерные переменные
- •4.2.1. Создание размерной переменной
- •4.2.2. Работа с размерными переменными
- •4.2.3. Выбор системы единиц
- •4.2.4. Определение новой размерности
- •4.3. Массивы
- •4.3.1. Доступ к элементам массива
- •4.3.2. Ранжированные переменные
- •4.3.3. Создание массивов
- •4.3.4. Отображение вывода векторов и матриц
- •4.4. Формат вывода числовых данных
- •4.4.1. Формат результата
- •4.4.2. Округление малых чисел до нуля
- •4.4.3. Вывод чисел в других системах счисления
- •4.5. Элементы управления (controls)
- •Лекция 3. Символьные вычисления. Интегрирование и дифференцирование. Алгебраические уравнения и оптимизация.
- •5. Символьные вычисления
- •5.1. Способы символьных вычислений
- •5.2. Символьная алгебра
- •5.2.1. Упрощение выражений (Simplify)
- •5.2.2. Разложение выражений (Expand)
- •5.2.3. Разложение на множители (Factor)
- •5.2.4. Приведение подобных слагаемых (Collect)
- •5.2.5. Коэффициенты полинома (Polynomial Coefficients)
- •5.2.6. Ряды и произведения
- •5.2.7. Разложение на элементарные дроби (Convert to Partial Fractions)
- •5.2.8. Подстановка переменной (Substitute)
- •5.2.9. Матричная алгебра
- •5.3. Математический анализ
- •5.3.1. Дифференцирование (Differentiate)
- •5.3.2. Интегрирование (Integrate)
- •5.3.3. Разложение в ряд (Expand to Series)
- •5.3.4. Решение уравнений (Solve)
- •5.4. Интегральные преобразования
- •5.4.1. Преобразование Фурье (Fourier)
- •5.4.2. Преобразование Лапласа (Laplace)
- •5.5. Дополнительные возможности символьного процессора
- •5.5.1. Применение функций пользователя
- •5.5.2. Получение численного значения выражения
- •5.5.3. Последовательности символьных команд
- •7. Интегрирование и дифференцирование
- •7.1. Интегрирование
- •7.1.1. Операторы интегрирования
- •7.1.2. Об алгоритмах интегрирования
- •7.1.3. 0 Расходящихся интегралах
- •7.1.4. Кратные интегралы
- •7.2. Дифференцирование
- •7.2.1. Первая производная
- •7.2.2. Производные высших порядков
- •7.2.3. Частные производные
- •8. Алгебраические уравнения и оптимизация
- •8.1. Одно уравнение с одним неизвестным
- •8.2. Корни полинома
- •8.3. Системы уравнений
- •8.4. О численных методах решения систем уравнений
- •8.5. Приближенное решение уравнений
- •8.6. Поиск экстремума функции
- •8.6.1. Экстремум функции одной переменной
- •8.6.2. Условный экстремум
- •8.6.3. Экстремум функции многих переменных
- •8.6.4. Линейное программирование
- •8.7. Символьное решение уравнений
- •Лекция 4. Матричные вычисления. Математическая статистика. Обработка данных.
- •9. Матричные вычисления
- •9.1. Простейшие операции с матрицами
- •9.1.1. Транспортирование
- •9.1.2. Сложение
- •9.1.3. Умножение
- •9.1.4. Определитель квадратной матрицы
- •9.1.5. Модуль вектора
- •9.1.6. Скалярное произведение векторов
- •9.1.7. Векторное произведение
- •9.1.8. Сумма элементов вектора и след матрицы
- •9.1.9. Обратная матрица
- •9.1.10. Возведение матрицы в степень
- •9.1.11. Векторизация массивов
- •9.1.12. Символьные операции с матрицами
- •9.2. Матричные функции
- •9.2.1. Функции создания матриц
- •9.2.2. Слияние и разбиение матриц
- •9.2.3. Вывод размера матриц
- •9.2.4. Сортировка матриц
- •9.2.7. Ранг матрицы
- •9.3. Системы линейных алгебраических уравнений
- •14. Математическая статистика
- •14.1. Случайные величины
- •14.1.1. Нормальное (Гауссово) распределение
- •14.1.2. Равномерное распределение
- •14.1.3. Биномиальное распределение
- •14.1.4. Другие статистические распределения
- •14.2. Статистические характеристики
- •14.2.1. Построение гистограмм
- •14.2.3. Генерация коррелированных случайных чисел
- •14.2.4. Ковариация и корреляция
- •14.2.5. Коэффициенты асимметрии и эксцесса
- •14.2.6. Другие статистические характеристики
- •14.2.7. Действие статистических функций на матрицы
- •14.3. Случайные процессы
- •14.4. Некоторые примеры
- •14.4.1. Интервальная оценка дисперсии
- •14.4.2. Проверка статистических гипотез
- •15. Обработка данных
- •15.1. Интерполяция
- •15.1.1. Линейная интерполяция
- •15.1.2. Кубическая сплайн-интерполяция
- •15.1.3. Полиномиальная сплайн-интерполяция
- •15.1.4. Экстраполяция функцией предсказания
- •15.1.5. Многомерная интерполяция
- •15.2. Регрессия
- •15.2.1. Линейная регрессия
- •15.2.2. Полиномиальная регрессия
- •15.2.3. Регрессия специального вида
- •15.2.4. Регрессия общего вида
- •15.3. Сглаживание и фильтрация
- •15.3.1. Встроенные функции для сглаживания
- •15.3.2. Скользящее усреднение
- •15.3.3. Устранение тренда
- •15.3.4. Полосовая фильтрация
- •Лекция 5. Числовой ввод-вывод данных. Создание двух- и трехмерных графиков.
- •16.1. Числовой ввод-вывод
- •16.2. Создание графиков
- •16.3. Двумерные графики
- •16.3.4. Полярный график
- •16.3.5. Построение нескольких рядов данных
- •16.3.6. Форматирование осей
- •16.3.7. Форматирование рядов данных
- •16.3.9. Изменение размера и положения графиков
- •16.3.10. Трассировка и увеличение графиков
- •16.4. Трехмерные графики
- •16.4.2. Форматирование трехмерных графиков
- •16.5. Создание анимации
- •16.6. Ввод-вывод во внешние файлы
- •16.6.1. Текстовые файлы
- •16.6.2. Графические файлы
- •16.6.3. Звуковые файлы
- •Литература:
15.2.2. Полиномиальная регрессия
В Mathcad реализована регрессия одним полиномом, отрезками нескольких полиномов, а также двумерная регрессия массива данных.
Полиномиальная регрессия
Полиномиальная регрессия означает приближение данных (xi, yi) полиномом k-й степени А(х)=а+bх+сх2+dх3+.. .+hxk (рис. 15.14). При k=1 полином является прямой линией, при k=2 — параболой, при k=3 — кубической параболой и т. д. Как правило, на практике применяются k<5.
Для построения регрессии полиномом k-й степени необходимо наличие, по крайней мере (k+1) точек данных.
В Mathcad полиномиальная регрессия осуществляется комбинацией встроенной функции regress и полиномиальной интерполяции.
regress(x,y,k) — вектор коэффициентов для построения полиномиальной регрессии данных;
interp(s,x,y, t) — результат полиномиальной регрессии;
s=regress(x,y,k);
х — вектор действительных данных аргумента, элементы которого расположены в порядке возрастания;
у — вектор действительных данных значений того же размера;
k — степень полинома регрессии (целое положительное число);
t — значение аргумента полинома регрессии.
Для построения полиномиальной регрессии после функции regress Вы обязаны использовать функцию interp.
Рис. 15.14. Регрессия полиномами разной степени (коллаж результатов листинга 15.10 для разных k)
Пример полиномиальной регрессии квадратичной параболой приведен в листинге 15.10.
Листинг 15.10. Полиноминальная регрессия
Регрессия отрезками полиномов
Помимо приближения массива данных одним полиномом имеется возможность осуществить регрессию сшивкой отрезков (точнее говоря, участков, т. к. они имеют криволинейную форму) нескольких полиномов. Для этого имеется встроенная функция loess, применение которой аналогично функции regress (листинг 15.11 и рис. 15.15).
loess (x,у, span) — вектор коэффициентов для построения регрессии данных отрезками полиномов;
interp(s,x,y,t) — результат полиномиальной регрессии;
s=loess(x,y,span);
х — вектор действительных данных аргумента, элементы которого расположены в порядке возрастания;
у — вектор действительных данных значений того же размера;
span — параметр, определяющий размер отрезков полиномов (положительное число, хорошие результаты дает значение порядка span=0 .75).
Параметр span задает степень сглаженности данных. При больших значениях span регрессия практически не отличается от регрессии одним полиномом (например, span=2 дает почти тот же результат, что и приближение точек параболой).
Листинг 15.11. Регрессия отрезками полиномов
Регрессия одним полиномом эффективна, когда множество точек выглядит как полином, а регрессия отрезками полиномов оказывается полезной в противоположном случае.
Рис. 15.15. Регрессия отрезками полиномов (листинг 15.11)
Двумерная полиномиальная регрессия
По аналогии с одномерной полиномиальной регрессией и двумерной интерполяцией Mathcad позволяет приблизить множество точек zi,j(хi, уi) поверхностью, которая определяется многомерной полиномиальной зависимостью. В качестве аргументов встроенных функций для построения полиномиальной регрессии должны стоять в этом случае не векторы, а соответствующие матрицы.
regress(x,z,k) — вектор коэффициентов для построения полиномиальной регрессии данных;
loess (x,z, span) — вектор коэффициентов для построения регрессии данных отрезками полиномов;
interp(s,x,z,v) — скалярная функция, аппроксимирующая данные выборки двумерного поля по координатам х и у кубическими сплайнами;
s — вектор вторых производных, созданный одной из сопутствующих функций loess или regress;
х — матрица размерности NX2, определяющая пары значений аргумента (столбцы соответствуют меткам х и у);
z — вектор действительных данных размерности N;
span — параметр, определяющий размер отрезков полиномов;
k — степень полинома регрессии (целое положительное число);
v — вектор из двух элементов, содержащий значения аргументов х и у, для которых вычисляется интерполяция.
Для построения регрессии не предполагается никакого предварительного упорядочивания данных (как, например, для двумерной интерполяции, которая требует их представления в виде матрицы N*N). В связи с этим данные представляются как вектор.
Двумерная полиномиальная регрессия иллюстрируется листингом 15.12 и рис. 15.16. Сравните стиль представления данных для двумерной регрессии с представлением тех же данных для двумерной сплайн-интерполяции (см. листинг 15.6) и ее результаты с исходными данными (см. рис. 15.10) и их сплайн-интерполяцией (см. рис. 15.11).
Листинг 15.12. Двумерная полиномиальная регрессия
Обратите внимание на знаки транспонирования в листинге. Они применены для корректного представления аргументов (например, z в качестве вектора, а не строки).
Рис. 15.16. Двумерная полиномиальная регрессия (листинг 15.12)
