Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2024

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
1.09 Mб
Скачать

3.Как присвоить значение переменной внутри функции? Как задать условие равенства внутри функции?

4.Какое значение возвращает функция? Как изменить значение, возвращаемое по умолчанию?

101

Лабораторная работа № 4 АППРОКСИМАЦИЯ ФУНКЦИЙ С ПОМОЩЬЮ MATHCAD

1. ОБЩИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

1.1. Цель работы

Изучение основных методов построения интерполяционных многочленов Лагранжа и Ньютона; получение практических навыков написания функций на встроенном в Mathcad языке программирования.

1.2. Используемое оборудование и программное обеспечение

Для выполнения лабораторной работы требуется ПЭВМ типа IBM PC с установленной ОС Windows XP и выше, математический пакет Mathcad 14 и выше.

2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

2.1. Линейная интерполяция

Для решения различных задач аппроксимации в Mathcad есть несколько встроенных функций, позволяющих соединить заданные точки (xi,yi ) кривой разной степени гладкости.

Самый простой вид интерполяции – линейная, при которой точки (xi,yi ) соединяются отрезками. Для построения линейной интерполяции служит встроенная функция linterp(x, y, t), параметры которой имеют следующий смысл: x, y - массивы одинаковой размерности со значениями данных x и y, соответственно, t – значение переменной x, при котором вычисляется интерполирующая функция.

Пример линейной интерполяции приведен на рис. 35. На графике строится функция f(t), зависящая от

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

102

большем числе точек из интервала [0, 6], что Mathcad обеспечивает автоматически. При линейной интерполяции это не очень заметно, но играет большую роль для других методов аппроксимации.

Рис. 35. Пример построения линейной интерполяции

2.2. Интерполяция сплайнами

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

103

lspline(x, y) – по заданным векторам данных x и y вычисляет вектор значений линейного сплайна;

pspline(x, y) – формирует вектор коэффициентов квадратичного сплайна;

cspline(x, y) – формирует вектор значений коэффициентов кубического сплайна.

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

Рис. 36. Интерполяция различными сплайнами

104

2.3. Интерполяционный многочлен Лагранжа

Подпрограмма, реализующая интерполяцию таблично заданной функции с помощью многочлена Лагранжа, и пример ее использования приведены на рис. 37.

Рис. 37. Реализация интерполяции с помощью многочлена Лагранжа в Mathcad

105

2.4. Экстраполяция функцией предсказания

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

Пример использования функции predict() показан на рис. 38.

Рис. 38. Пример использования функции predict() для экстраполяции данных

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

106

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

3. ЛАБОРАТОРНОЕ ЗАДАНИЕ

Задание 1. Задать массив узлов интерполяции на отрезке [a,b] и вычислить в них значения функции из табл. 19.

Таблица 19

Вариант

Функция

[a,b]

1

sin(x2)

[0,2]

2

cos(x2)

[0,2]

3

esin(x)

[0,5]

4

1/(0.5 x2)

[0,2]

5

e (x sin(x))

[2,5]

6

1/(1 e x )

[0,4]

7

sin(x esin(x))

[0,3]

8

e (x 1/x)

[1,3]

Задание 2. Провести линейную интерполяцию заданной

функции с помощью встроенной функции linterp().

 

Задание 3.

Провести сплайн-интерполяцию

заданной

функции.

 

 

Задание 4.

Для вычисленной табличной

функции

построить график интерполяционного многочлена Лагранжа и отметить на нем узловые точки.

Задание 5. На встроенном языке программирования написать функции для построения первого (варианты 1, 3, 5, 7) или второго (варианты 2, 4, 6, 8) интерполяционных многочленов Ньютона; построить графики многочленов и отметить узловые точки.

Задание 6. С использованием функции predict() выполнить экстраполяцию вектора данных.

107

4.УКАЗАНИЯ ПО ОФОРМЛЕНИЮ ОТЧЕТА

Отчет должен содержать:

- наименование и цель работы; - краткие теоретические сведения;

- задание на лабораторную работу; - результаты выполнения лабораторной работы.

5.КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Какая функция в Mathcad выполняет линейную интерполяцию?

2.Какие сплайн-функции есть в Mathcad, чем они отличаются?

3.Для чего предназначена функция interp()? Какие у нее параметры?

4.Как в Mathcad выполнить экстраполяцию данных?

108

Лабораторная работа № 5 ИНТЕГРИРОВАНИЕ В MATHCAD

1.ОБЩИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

1.1.Цель работы

Изучение основных принципов нахождения определенного и неопределенного интеграла в среде Mathcad; получение практических навыков реализации численных алгоритмов интегрирования.

1.2.Используемое оборудование и программное обеспечение

Для выполнения лабораторной работы требуется ПЭВМ типа IBM PC с установленной ОС Windows XP и выше, математический пакет Mathcad 14 и выше.

2.МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ

2.1.Нахождение определенного и неопределенного интеграла с помощью Mathcad

Интегрирование в Mathcad реализовано в виде специальных математических операторов, расположенных на панели инструментов Математический анализ. Для того чтобы вычислить определенный интеграл, следует выбрать

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

Для определенного интеграла можно найти как численное, так и символьное решение. В первом случае используется знак равенства, во втором – символьное равенство с панели инструментов Вычисление (рис. 39). Заметим, что символьное интегрирование возможно только для сравнительно небольшого круга несложных подынтегральных функций.

109

Рис. 39. Численное и символьное вычисление определенного интеграла

Для того чтобы найти неопределенный интеграл, надо выбрать на панели инструментов Математический анализ символ неопределенного интеграла, ввести подынтегральную функцию и знак символьного равенства. В случае успеха справа от введенного выражения появится его аналитический результат. Если же функцию не удается проинтегрировать аналитически, введенное выражение будет просто продублировано.

3. ЛАБОРАТОРНОЕ ЗАДАНИЕ

Задание 1. Согласно варианту аналитически вычислить неопределенный и определенный интегралы (табл. 20).

Задание 2. На встроенном языке программирования написать функции, реализующие численные алгоритмы интегрирования. Варианты заданий взять из табл. 21.

Задание 3. Сравнить различные алгоритмы интегрирования по времени решения.

110

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]