- •Введение
- •1 Общие сведения
- •2 Функциональное назначение
- •3 Описание программы
- •3.1 Описание метода
- •3.3 Руководство пользователя
- •3.3.1 Руководство пользователя для файл-функции
- •3.3.2 Руководство пользователя дляGui
- •3.4 Руководство программиста
- •3.4.1 Руководство программиста по файл-функции
- •3.4.2 Руководство программиста по gui
- •4 Используемые технические средства
- •Библиографический список
- •Приложение а
- •Приложение б
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Южно-Уральский государственный университет (НИУ)
Факультет «Приборостроительный (КТУР)»
Кафедра «Информационно-измерительная техника»
Программный модуль:
«Интерполяция функций по методу Лагранжа и по первой формуле Ньютона»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА К КУРСОВОМУ ПРОЕКТУ
по дисциплине: “Компьютерные технологии в приборостроении ”
ПС-204.00.05.00 ПЗ
Нормоконтролер (к.т.н., доцент)
______А.С. Волосников
“ ” 2012г
Руководитель (к.т.н., доцент)
________Д.Ю.Иосифов
“ ” 2012г.
Автор проекта
Студент группы ПС-204
П.Б. Зырянов
“ ” 2012г.
Проект защищён с оценкой
/ /
“ ” 2012г.
АННОТАЦИЯ
Зырянов П.Б., Программа «Интерполяция функций по методу Стирлинга и Бесселя». – Челябинск: ЮУрГУ, ПС; 2012, 45с. 6 ил., библиогр. список – 3 наим., 2 прил..
В данной работе рассмотрена задача интерполяции функций методами Стирлинга и Бесселя. Составлен алгоритм работы программы и написана файл-функция на языке программирования системы Scilab, предназначенная для интерполяции функции. К программе создан графический интерфейс пользователя (GUI) на языке программирования системы Scilab[1]. Составлено руководство пользователя, содержащее информацию, достаточную для работы с программой, и руководство программиста, в котором приводится описание функций.
ОГЛАВЛЕНИЕ
1 ОБЩИЕ СВЕДЕНИЯ 6
2 ФУНКЦИОНАЛЬНОЕ НАЗНАЧЕНИЕ 7
3 ОПИСАНИЕ ПРОГРАММЫ 8
3.1 Описание метода 8
3.3 Руководство пользователя 16
3.3.1 Руководство пользователя для файл-функции 16
3.3.2 Руководство пользователя для GUI 17
3.4 Руководство программиста 21
3.4.1 Руководство программиста по файл-функции 21
3.4.2 Руководство программиста по GUI 21
4 ИСПОЛЬЗУЕМЫЕ ТЕХНИЧЕСКИЕ СРЕДСТВА 23
5 ВЫЗОВ И ЗАГРУЗКА 24
5.1 Вызов и загрузка файла-функции 24
5.2 Вызов и загрузка GUI 24
6 ВХОДНЫЕ ДАННЫЕ 25
6.1 Входные данные для файла-функции 25
6.2 Входные данные для GUI 25
7 ВЫХОДНЫЕ ДАННЫЕ 26
7.1 Выходные данные для файл-функции 26
7.2 Выходные данные для GUI 26
8 КОНТРОЛЬНЫЙ ПРИМЕР 27
8.1 Контрольный пример для файла-функции 27
8.2 Контрольный пример для GUI 28
ЗАКЛЮЧЕНИЕ 29
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 30
ПРИЛОЖЕНИЕ А 31
ПРИЛОЖЕНИЕ Б 33
Введение
Интерполяция ‑ это вычисление значений y(x) во всей области определения аргумента по заданному дискретному множеству точек, т.е. переход от дискретной функции к непрерывной. Наоборот дискретизация - переход от непрерывной к дискретной функции. Отметим, что в радиотехнике эти преобразования для сигналов выполняют специальные устройства, которые называются ЦАП (цифро-аналоговый преобразователь) и АЦП (аналого-цифровой преобразователь). ЦАП осуществляет интерполяцию, а АЦП ‑ дискретизацию. Часто интерполяцию и аппроксимацию рассматривают как синонимы. Однако мы будем их различать. Интерполяция ‑ это переход к непрерывной функции, проходящей точно через заданные точки.
1 Общие сведения
Программа написана на языке программирования системы Scilab и именуется «Интерполяция функций по методу Стирлинга и Бесселя». Для нормального функционирования программы необходимо следующее программное обеспечение:
операционная система не ниже WindowsXP;
инженерный пакет Scilab, версия не ниже 3.3.2
2 Функциональное назначение
Программа предназначена для решения математических задач по интерполяции таблично заданной функций по методу Стирлинга и Бесселя. Файл-функция осуществляет расчет заданной функции в новых точках. С помощью GUIможно строить графики заданной и интерполированной функций, осуществляя ввод с помощью клавиатуры и мыши, загружать файлы с начальными значениями, сохранять данные и результаты работы файлы таблицExсel.
Функциональные ограничения: в поля ввода заданных точек можно ввести не более 50 значений.
3 Описание программы
3.1 Описание метода
Конечная разность — математический термин, широко применяющийся в методах вычисления при интерполировании. Конечная разность обозначается как:.
Интерполяционные формулы Стирлинга и Бесселя — формулы в вычислительной математике, применяющиеся для полиномиального интерполирования. В этих формулах используются центральные разности, связанные с конечными разностями следующими соотношениями:
(1)
(2)
Если узлы интерполяции заданны с постоянным шагом, то есть:
(3)
где — шаг, и их число нечетно, то для интерполяции функции можно применить интерполяционный многочлен Стирлинга:
, (4)
Где:
(5)
Если узлы интерполяции заданны с постоянным шагом, то есть:
, (6)
где — шаг, и их число четно, то для интерполяции функции можно применить интерполяционный многочлен Бесселя:
(7)
3.2 Описание логической структуры
Описание логической структуры функциональной части программы представлено схемой алгоритма функции inter():
2
Передаются данные: X – матрица, содержащая заданные аргументы функции
Y- матрица, содержащая значения заданных аргументов
flag – переменная, содержащая способ интерполяции X_inp- массив, содержащий точки для интерполяции
n=size(X);
N=n(2); Размер матрицы X
m=size(X_inp);
M=m(2); Размер матрицы X_inp
3
4
X_out- матрица выходных значений аргумента
Y_out[1][ i]=0; X_out[i]=X_inp[i]
5
Цикл 1 i=i+1
6
Условие выбора интерполяционной формулы
flag= =0
нет
7
да
Нацало цикла для расчета Yout выходного значения функции
8
9
L1:=1 L2:=1
10
Начало цикла для расчета первой части полинома до элемента (j-1)
11
L1=L1*((X_inp(i)-X(k))/(X(j)-X(k)));
12
Конец цикла для расчета первой части полинома до элемента (j-1)
Цикл 4 k=k+1
13
Начало цикла для расчета второй части полинома после элемента элемента (j-1)
L2=L2*((X_inp(i)-X(k))/(X(j)-X(k)));
14
L2=L2*((X_inp(i)-X(k))/(X(j)-X(k)));
15
Цикл 5 k=k+1
Конец цикла для расчета второй части полинома после элемента элемента (j-1)
16
Y_out(1,i)=Y_out(1,i)+ +L1*L2*Y(j)
17
Цикл 3 j=j+1
18
Цикл 2 i=i+1
Конец цикла для расчета Yout выходного значения функции
19
D=N-1;
20
Циклы 6,7,8 для подсчета матрицы конечных разностей d
21
d(i,1)=Y(i+1)-Y(i);
22
Цикл 6 i=i+1
23
24
25
d(j,i)=d(j+1, i-1)-d(j, i-1);
26
Цикл 8 j=j+1
Цикл 7 i=i+1
27
28
Конец циклов для подсчета матрицы конечных разностей d
29
Циклы 9,10, 11 для расчета Yout выходного значения функции
30
Y_out(1, i)=1;
31
k(i, ii)=1;
32
33
k(i, ii)=k(i, ii)*(X_inp(i)-X(jj));
34
Цикл 11 jj=jj+1
35
Цикл 10 ii=ii+1
Цикл 11 jj=jj+1
Y_out(1, i)=Y_out(1, i)+(d(1, ii)*k(i, ii)/(factorial(ii)*((X(2)-X(1))^ii)));
36
37
Цикл 9 i=i+1
Конец циклов для расчета Yout выходного значения функции
38
КОНЕЦ
39