Тема 2.4. Использование математического пакета MathCad для аналитических и численных решений

Тема 2.4. Использование математического пакета MathCad для аналитических и численных решений

Погрешность

Технология интерполяции функций в среде системы MathCad

Для решения задач интерполяции в Mathcadимеются встроенные функции двух видов: позволяющие увидеть аналитическую зависимость, то есть возвращающие набор аппроксимирующих коэффициентов, и не позволяющие увидеть аналитическую зависимость, а позволяющие только получить значения функции в промежуточных точках. Кроме того, вMathcad имеется несколько функций интерполяции, различающихся способом «соединения» точек (прямой линией или различными кривыми).

Рассмотрим средства интерполяции в системе Mathcadна примерах.

Пример 2.4-10. Пусть значения функции, полученные в ходе эксперимента, представлены в виде таблицы:

X 1.2 1.4 1.6 1.8 2.0
y(x) -0.085 -0.462 0.128 3.546 2.654

Выполнить линейную интерполяцию данных (экспериментальные точки соединяются отрезками прямой) с использованием функции linterp(x, y, t), где x – вектор значений аргументов, y – вектор значений функции и t – текущее значение аргумента, при котором вычисляется функция.

Пример 2.4-11. Выполнить интерполяцию таблично заданной функции по методу Лагранжа.

Преимущество этой формулы в том, что число и расположение узловых точек могут быть любыми (в том числе неравномерными).

 

Помимо вычисления значений функций в пределах интервала данных все рассмотренные ранее функции могут осуществлять экстраполяцию (прогнозирование поведения функции за пределами интервала заданных точек) с помощью зависимости, основанной на анализе расположения нескольких исходных точек на границе интервала данных. В Mathcad имеется и специальная функция предсказанияpredict(Y, m, n), где Y – вектор заданных значений функции, обязательно взятых через равные интервалы аргумента, а m – число последовательных значений Y, на основании которых функция predict возвращает nзначений Y.

Значений аргумента для данных не требуется, поскольку по определению функция действует на данных, идущих друг за другом с одинаковым шагом. Функция использует линейный алгоритм предсказания, который точен, когда экстраполируемая функция гладкая. Функция может быть полезна, когда требуется экстраполировать данные на небольшие расстояния. Вдали от исходных данных результат чаще всего оказывается неудовлетворительным.

Пример 2.4-12. Задан массив из 60 точек .

Применить кубическую сплайн-интерполяцию, при которой экспериментальные точки соединяются отрезками кубических полиномов.

Для этого одновременно используются две функции: interp(s,x,y,t)и cspline(x,y), где x– вектор значений аргументов, y – вектор значений функции, s – вектор вторых производных, создаваемый функцией cspline, t – значение аргумента, при котором вычисляется функция.

 

Пример 2.4-14. Найтиопределенный интеграл в символьном виде и вычислить его значение.

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

Пример 2.4-15.Вычислить определенные интегралы методами трапеций (It) и парабол (Симпсона) (Ic).

Метод трапеций Метод Симпсона

Пример 2.4-16.Вычислить значения определенного интеграла методом средних прямоугольников при условии, что подынтегральная функция задана аналитически.

Метод средних прямоугольников

С помощью средств Mathcad могут быть найдены символьные выражения для производных и интегралов. Символьный знак равенства (стрелка) расположен на палитре Символика панели Математика. Для получения производных и интегралов в символьных выражениях в шаблон производной или интеграла нужно ввести выражение, щелкнуть по изображению символьного знака равенства, а затем щелкнуть по свободному пространству рабочего поля экрана.

Пример 2.4-17. Найти символьные выражениядля производных и интегралов.

Пример 2.4-18. Вычислить определенный интеграл от заданной функции с различными значениями точностей.

Пример 2.4-19. Вычислить значения определенного интеграла с шагом и ( и ) по формуле средних прямоугольникови оценить погрешность.

i:=0…n-1

Пример 2.4-20. Вычислить значения определенного интеграла с шагом и ( и ) по формуле трапеций.



Пример 2.4-21. Вычислить значения определенного интеграла с шагом и ( и ) по формуле Симпсона.


Пример 2.4-25. Решить дифференциальное уравнение.

Задано дифференциальное уравнение Заданы начальные условия Задано решение дифференциального уравнения Вычисление производной от b(a) График решения заданного дифференциального уравнения b(a) и производной от функции решения -c(a)

Пример 2.4-28. Найти минимум и максимум ступенчатой функции.

   

Пример 2.4-29. Найти минимум функции одной переменной.

Пример поиска минимума функции одной переменной

Пример 2.4-30. Получить аппроксимирующие полиномы первой и второй степени методом наименьших квадратов для функции, заданной таблично.

Пример 2.4-31. Осуществить аппроксимацию таблично заданной функции многочленом 1-й, 2-й и 3-й степени.

В этом примере рассмотрено использование функции linfit(x,y,f), где x,y- соответственно векторы значений аргументов и функции, а f – символьный вектор базисных функций. Использование этой функции позволяет определить вектор коэффициентов аппроксимации методом наименьших квадратов и далее невязку - среднеквадратическую погрешность приближения исходных точек к аппроксимирующей функции (сkо). Степень аппроксимирующего многочлена задается при описании символьного вектора f. В примере представлена аппроксимация таблично заданной функции многочленом 1-й, 2-й и 3-й степени. Вектор s представляет собой набор аппроксимирующих коэффициентов, что позволяет получить аппроксимирующую функцию в явном виде.

В Mathcad имеется также большое количество встроенных функций, предназначенных для получения аналитического выражения функции регрессии. Однако в этом случае необходимо знать форму аналитического выражения. Ниже приведены встроенные функции, различающиеся видом регрессии, позволяющие (при заданных начальных приближениях) определить аналитическую зависимость функции, то есть возвращающие набор аппроксимирующих коэффициентов:

expfit(X,Y,g)Решение ОДУ 2-го порядка вида у”=F(x, y, z), где z=y’ также может быть получено методом Рунге-Кутты 4-го порядка. Ниже приведены формулы для решения ОДУ:

  • регрессия экспонентой
  • sinfit(X,Y,g)– регрессия синусоидой
  • pwfit(X,Y,g)– регрессия степенной зависимостью
  • logfit(X,Y,g)– регрессия логарифмической функцией

В этих функциях: х – вектор аргументов, элементы которого расположены в порядке возрастания; y– вектор значений функции; g – вектор начальных приближений коэффициентов a, b и с; t - значение аргумента, при котором определяется функция.

В приведенных ниже примерах для оценки связи между массивами данных и значениями аппроксимирующей функции подсчитывается коэффициент корреляции corr(). Если табличные данные неплохо аппроксимируется каким-либо видом регрессии, то коэффициент корреляции близок к единице. Чем меньше коэффициент, тем хуже связь между значениями этих функций.

Пример 2.4-32. Найти аппроксимирующие полиномы первой, второй, третьей и четвертой степени и вычислить коэффициенты корреляции.

Помимо вычисления значений функций в пределах интервала данных все рассмотренные ранее функции могут осуществлять экстраполяцию (прогнозирование поведения функции за пределами интервала заданных точек) с помощью зависимости, основанной на анализе расположения нескольких исходных точек на границе интервала данных. В Mathcad имеется и специальная функцияпредсказания predict(Y, m, n), где Y – вектор заданных значений функции, обязательно взятых через равные интервалы аргумента, а m – число последовательных значений Y, на основании которых функция predict возвращает n значений Y.

Значений аргумента для данных не требуется, поскольку по определению функция действует на данных, идущих друг за другом с одинаковым шагом. Функция использует линейный алгоритм предсказания, который точен, когда экстраполируемая функция гладкая. Функция может быть полезна, когда требуется экстраполировать данные на небольшие расстояния. Вдали от исходных данных результат чаще всего оказывается неудовлетворительным.

Пример 2.4-34. Решить задачу оптимизации для функции двух переменных градиентным методом.

Начальные значения переменных для поиска минимума Решение: xmin=0 ymin=0 f(xmin,ymin)=0

Пример 2.4-35. Решить задачу оптимизации с помощью встроенных функций miner( ) .

Построим трехмерный график функции f(x,y)
Построим график линий уровня функции f(x,y)

Пример 2.4-36. Решить задачу оптимизации с помощью встроенных функций

Maximize (Minimize).


Пример 2.4-37. Определить минимум функции .

Для заданной функции, как известно, координаты точки минимума равны (0;0). Для этой функции график линий уровня представляет собой концентрические окружности, а точка минимума находится строго по центру.


Пример 2.4-38. Решить линейную систему уравнений.

Пример 2.4-39. Решить линейную систему уравнений с помощью встроенной функции lsolve( ).

При условии, что заданы матрицы коэффициентов и свободных членов, решение может быть получено следующим образом:

Если система линейных уравнений не имеет точного решения, то вместо функции Find(x,y) следует использовать функцию Minner(x,y), позволяющую получить приближенное решение системы. При этом если точное решение существует, то функции Find( ) и Minner( ) дают одинаковые результаты.

Пример 2.4-40. Решить линейную систему уравнений с помощью встроенных функций Find( ) и Minner( ).

Наряду с использованием встроенных функций пользователь может самостоятельно реализовать численный метод решения системы линейных уравнений, например, метод итераций. Для этого исходную систему уравнений следует привести к виду: . В методе итераций последовательность приближений к решению определяется соотношением , где k=0,1, ..(n-1), а (n-1) – количество неизвестных. В качестве начального приближения может быть выбран любой вектор. Известно, что метод итераций сходится, если для нормы матрицы выполнено условие .

Пример 2.4-41. В данном примере справа от уравнений указаны преобразования, которые выполнены с целью обеспечения сходимости.

Приведем полученную систему уравнений к виду, удобному для итераций:

Норма матрицы, состоящая из сумм модулей коэффициентов при неизвестных в правых частях уравнения, равна {0.53; 0.75; 0.57}=0.75<1.

Для вычисления используем следующую итеративную формулу метода итераций:

.

Выбрав в качестве начальных приближений значения свободных членов, выполним 3 итерации, обеспечив точность результатов 0.01.

1-я итерация 2-я итерация 3-я итерация

Если система уравнений не имеет точного решения, то вместо функции Find( ) следует использовать функцию Minner, поскольку в этом случае функция Find( ) указывает на ошибку, функция Minner( ) находит минимум невязки, то есть возвращает значение аргумента, соответствующее минимальному расхождению между значением y и функцией y(x).

СПИСОК ЛИТЕРАТУРЫ

Программа дисциплины «ИНФОРМАТИКА» 2009 г.

Шакин В.Н. , Семенова Т.И., Кравченко О.М. ИНФОРМАТИКА: Лабораторный практикум для студентов МТУСИ: Раздел 6. Модели и алгоритмы решения задач численных методов с использованием математических пакетов. – М: МТУСИ, 2009.

Электронное учебное пособие и практикум «Информатика» для студентов МТУСИ, 2009.

Кравченко О.М., Семенова Т.И., Шакин В.Н. Учебное пособие: Модели решения вычислительных задач (численные методы и оптимизация) по дисциплине «Информатика» для студентов, обучающихся по направлению подготовки «Телекоммуникации»: М.,2003.- 2003.

Амосов А.А., Дубинский Ю.А., Копченова Н.В. Вычислительные методы для инженеров: М., Высшая школа,1994.

Бахвалов Н.С. Численные методы М., Наука, 1973.

Банди Б. Методы оптимизации. Вводный курс: М., Радио и связь, 1988.

Копченова Н.В., Марон И.А. Вычислительная математика в примерах и задачах: М., Наука, 1972.

Демидович Б.Л., Марон И.А. Основы вычислительной математики: М., Наука, 1970.

Васильев В.К., Семенова Т.И. Численные методы решения задач на ЭВМ. Уч. пособие: М., МТУСИ, 1993 г.

Семенова Т.И., Шакин В.Н. Практикум: Математический пакет MathCad в дисциплине «Информатика»: МТУСИ. М.,2006.

Дьяконов В.П. МаhtCad 11/12/13 в математике. Справочник. – М.: Горячая линия – Телеком, 2007. – 958 с.

Половко А.М., Бутусов П.Н. MatLab для студентов.- СПб-Петербург, 205.-320с.

Дьяконов В.П. Maple 10/11/12/13/14 в математических расчетах. – М.: ДМК Пресс, 2011. – 800 с.

Дьяконов В.П. MaTLab. Полный самоучитель. – М.: ДМК Пресс, 2012. – 768 с.

Васильев А.Н. MatLab. Самоучитель. Практический подход. СПб.: Наука и Техника, 2012.-448 с.
Содержание

Раздел 4. Использование математического пакета

MathCad для аналитических и численных решений..3

Тема 4.1. Элементы теории погрешностей……………………… 4

Тема 2.4. Технология решения нелинейных уравнений средствами

математического пакета MathCad................................... 5

Тема 2.4. Технология интерполяции функций в среде

математического пакета MathCad................................. 11

Тема 2.4.. Технология вычисления интегралов в среде

математического пакета MathCad............................... 14

Тема 2.4. Технология решения обыкновенных дифференциальных

уравнений средствами математического пакета

MathCad......................................................................................17

Тема 2.4. Технология решения задач одномерной оптимизации

средствами математического пакета........................... 22

Тема 2.4. Технология решения задач аппроксимации функций

средствами математического пакета…...................……25

Тема 2.4. Технология решения задач многомерной оптимизации

средствами математического пакета MathCad....... …28

Тема 2.4 . Технология решения систем линейных уравнений

средствами математического пакета MathCad........ 31

Тема 6.10. Технология решения систем нелинейных уравнений

средствами математического пакета MathCad…. 33

СПИСОК ЛИТЕРАТУРЫ.............................................................................35

Тема 2.4. Использование математического пакета MathCad для аналитических и численных решений

Погрешность


Наши рекомендации