Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие.doc
Скачиваний:
158
Добавлен:
02.04.2015
Размер:
6.8 Mб
Скачать

4.4. Примеры выполнения

4.4.1. Интерполирование степенными многочленами с использованием метода неопределенных коэффициентов

Запрограммируем в Mathcadрешение примера 1.

  1. Задаем системной переменной значение 1.

  1. Задаем начальные значения экспериментальных массивов согласно табл. 3.

  1. Задаем значение контрольной точки аргумента, в которой надо найти значение искомой функции:

  2. Строим график экспериментальных значений (рис. 24).

Рис. 24. График экспериментальных значений

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

.

Пользуясь полученной формулой, составим систему линейных уравнений:

Данную систему запишем в векторно-матричной форме:

или

.

  1. Решим полученную систему методом Крамера. Для этого сформируем 4 матрицы. Первая матрица С – главная матрица системы, остальные матрицы С0, С1 и С2 получаются из матрицы С путем замены 1-го, 2-го и 3-го столбца на вектор соответственно.

Следует отметить, что программирование осуществляется с использованием имен переменных, а не значений. Это позволит сделать программууниверсальнойи использовать её для решения других подобных задач в дальнейшем.

Далее контролируем заполнение матриц:

  1. Осуществляем расчет определителя матрицы С согласно правилу миноров.

Для набора формулы используем панель Greek(Греческий алфавит) иMatrix(Матрицы). Следует учесть, что для обозначения элементов двумерной матрицы С используется два индекса, разделенных запятыми (первый нумерует строку, второй – столбец). Если формула выходит за пределы страницы документа, часть её необходимо подсветить

и нажать Ctrl+Enter. В результате формула разобьётся на две строки.

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

Далее высвечиваем результат расчета

и осуществляем проверку нажатием кнопки Determinant (Вычисление определителя) на панели Matrix (Матрицы)

Аналогично осуществляем расчет и проверку расчета определителей матриц С0, С1 и С2.

  1. Рассчитываем коэффициенты a0,a1,a2.

  1. Используя найденные коэффициенты, задаем функцию yr(xk) для получения расчетных значений. Имя функции отличается от y(x), чтобы не испортить заданные в начале программы значения экспериментальных массивов x и y.

Высвечиваем расчетное значение функции в контрольной точке (как и ожидалось, оно находится между второй и третьей экспериментальными токами – 12 и 15):

  1. Добавляем к построенному ранее графику экспериментальных значений расчетную кривую yr(x1). Для этого сначала вводим ранжированную переменную x1, которая позволит получить не три, а девять расчетных значений и построить более гладкий график функции, отраженный с помощью пунктирной линии (рис. 25). Значение контрольной точки отражаем на графике с помощью крестика.

Рис. 25. Графики, полученные при интерполировании методом

неопределенных коэффициентов

4.4.2. Интерполирование степенными многочленами с использованием второй интерполяционной формулы Ньютона

Запрограммируем в Mathcadрешение примера 4. Программировать будем также с использованием имен переменных, чтобы программа получилась универсальной.

  1. Задаем системной переменной значение 1.

  1. Задаем начальные значения экспериментальных массивов согласно табл. 3.

  1. Строим график экспериментальных значений (рис. 26).

Рис. 26. График экспериментальных значений

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

.

Формула (11) для n=2 будет выглядеть следующим образом:

,

у2 = у3 – у2,

2 у1 = у2 у1 = у32у2 + у1,h=4.

Запрограммируем эти формулы в Mathcad, используя промежуточные переменные. Следует учесть при наборе следующиеособенности:

  1. индексы элементов экспериментальных массивов xиyнабираются через клавишу;или с помощью кнопкиSubscript(Нижний индекс) на панелиMatrix(Матрицы);

  2. имена переменных, обозначающих конечные разности, набираются в одну строку, без индексов.

Задаем функцию yr(xk) для получения расчетных значений. Имя функции отличается от y(x), чтобы не испортить заданные в начале программы значения экспериментальных массивов x и y.

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

  1. Для того чтобы получить значения коэффициентов a0, a1 и a2, воспользуемся функцией parfrac. Для этого нажмем кнопкуConvert to Partial Fractions Keywords(Преобразование в частичных долях) на панелиSymbolic(Символы).

Присваиваем переменным a0, a1 и a2 значения согласно полученному выражению

и высвечиваем полученные значения коэффициентов

Использование пункта 5 в программе снижает её универсальность, т. к. при изменении исходных данных эти преобразования нужно будет провести вручную.

  1. Используя найденные коэффициенты, задаем функцию yr(xk) для получения расчетных значений.

  1. Задаем значение контрольной точки аргумента, в которой надо найти значение искомой функции:

  1. Высвечиваем расчетное значение функции в контрольной точке (как и ожидалось, оно находится между второй и третьей экспериментальными токами – 12 и 15):

  1. Добавляем к построенному ранее графику экспериментальных значений расчетную кривую yr(x1). Для этого сначала вводим ранжированную переменную x1, которая позволит получить не три, а девять расчетных значений и построить более гладкий график функции, отраженный с помощью пунктирной линии (рис. 27). Значение контрольной точки отражаем на графике с помощью крестика.

Рис. 27. Графики, полученные при интерполировании с помощью

второй интерполяционной формулы Ньютона