- •Содержание
- •Знакомство с 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.1.3. Полиномиальная сплайн-интерполяция
Более сложный тип интерполяции — так называемая интерполяция В-сплайнами. В отличие от обычной сплайн-интерполяции (см. разд. 15.1.2), сшивка элементарных В-сплайнов производится не в точках хi а в других точках ui, координаты которых предлагается ввести пользователю. Сплайны могут быть полиномами 1, 2 или 3 степени (линейные, квадратичные или кубические). Применяется интерполяция В-сплайнами точно так же, как и обычная сплайн-интерполяция, различие состоит только в определении вспомогательной функции коэффициентов сплайна.
interp(s,x,y, t) — функция, аппроксимирующая данные векторов х и у с помощью В-сплайнов;
bspline(x,y,u,n) — вектор значений коэффициентов В-сплайна;
s — вектор вторых производных, созданный функцией bspline;
х — вектор действительных данных аргумента, элементы которого расположены в порядке возрастания;
у — вектор действительных данных значений того же размера;
t — значение аргумента, при котором вычисляется интерполирующая функция;
u — вектор значений аргумента, в которых производится сшивка В-сплайнов;
n — порядок полиномов сплайновой интерполяции (1, 2 или 3).
Размерность вектора u должна быть на 1, 2 или 3 меньше размерности векторов х и у. Первый элемент вектора u должен быть меньше или равен первому элементу вектора х, а последний элемент u — больше или равен последнему элементу х.
Интерполяция В-сплайнами иллюстрируется листингом 15.3 и рис. 15.7.
Листинг 15.3. Интерполяция В-сплайнами
Рис. 15.7. В-сплайн-интерполяция (листинг 15.3)
15.1.4. Экстраполяция функцией предсказания
Все рассмотренные выше функции осуществляли экстраполяцию данных за пределами их интервала с помощью соответствующей зависимости, основанной на анализе расположения нескольких исходных точек на границах интервала. В Mathcad имеется более развитый инструмент экстраполяции, который учитывает распределение данных вдоль всего интервала. В функцию predict встроен линейный алгоритм предсказания поведения функции, основанный на анализе, в том числе осцилляции.
predict (у,m,n) — функция предсказания вектора, экстраполирующего выборку данных;
у — вектор действительных значений, взятых через равные промежутки значений аргумента;
m — количество последовательных элементов вектора у, согласно которым строится экстраполяция;
n— количество элементов вектора предсказаний.
Пример использования функции предсказания на примере экстраполяции осциллирующих данных yi с меняющейся амплитудой приведен в листинге 15.4. Полученный график экстраполяции, наряду с самой функцией, показан на рис. 15.8. Аргументы и принцип действия функции predict отличаются от рассмотренных выше встроенных функций интерполяции-экстраполяции. Значений аргумента для данных не требуется, поскольку по определению функция действует на данные, идущие друг за другом с равномерным шагом. Обратите внимание, что результат функции predict вставляется "в хвост" исходных данных.
Листинг 15.4. Экстраполяция при помощи функции предсказания
Рис. 15.8. Экстраполяция при помощи функции предсказания (листинг 15.4)
Как видно из рис. 15.9, функция предсказания может быть полезна при экстраполяции данных на небольшие расстояния. Вдали от исходных данных результат часто бывает неудовлетворительным. Кроме того, функция predict хорошо работает в задачах анализа подробных данных с четко прослеживающейся закономерностью (типа рис. 15.8), в основном осциллирующего характера.
Если данных мало, то предсказание может оказаться бесполезным. В листинге 15.5 приведена экстраполяция небольшой выборки данных (из примеров, рассмотренных в предыдущих разделах). Соответствующий результат показан на рис. 15.9 для различных крайних точек массива исходных данных, для которых строится экстраполяция.
Листинг 15.5. Экстраполяция при помощи функции предсказания
Рис. 15.9. Работа функции предсказания в случае малого количества данных (листинг 15.5)
