Руководство пользователя для файл-функции
ОБЩИЕ СВЕДЕНИЯ
Программа написана на языке программирования системы Scilab и именуется «Интерполяция функций по методу Стирлинга и Бесселя». Для нормального функционирования программы необходимо следующее программное обеспечение:
· операционная система не ниже Windows XP;
· инженерный пакет Scilab, версия не ниже 3.3.2
ФУНКЦИОНАЛЬНОЕ НАЗНАЧЕНИЕ
Программа предназначена для решения математических задач по интерполяции таблично заданной функций по методу Стирлинга и Бесселя. Файл-функция осуществляет расчет заданной функции в новых точках. С помощью GUI можно строить графики заданной и интерполированной функций, осуществляя ввод с помощью клавиатуры и мыши, загружать файлы с начальными значениями, сохранять данные и результаты работы файлы таблиц Exсel.
Функциональные ограничения: в поля ввода заданных точек можно ввести не более 50 значений.
ОПИСАНИЕ ПРОГРАММЫ
Описание метода
Конечная разность — математический термин, широко применяющийся в методах вычисления при интерполировании. Конечная разность обозначается как:
.
Интерполяционные формулы Стирлинга и Бесселя — формулы в вычислительной математике, применяющиеся для полиномиального интерполирования. В этих формулах используются центральные разности, связанные с конечными разностями следующими соотношениями:
(1)
(2)
Если узлы интерполяции заданны с постоянным шагом, то есть:
(3)
где
— шаг, и их число нечетно, то для интерполяции функции можно применить интерполяционный многочлен Стирлинга:
, (4)
Где:
(5)
Если узлы интерполяции заданны с постоянным шагом, то есть:
, (6)
где
— шаг, и их число четно, то для интерполяции функции можно применить интерполяционный многочлен Бесселя:
(7)
3.2 Описание логической структуры
Описание логической структуры функциональной части программы представлено схемой алгоритма функции inter():
| Передаются данные: X – матрица, содержащая заданные аргументы функции Y- матрица, содержащая значения заданных аргументов flag – переменная, содержащая способ интерполяции X_inp- массив, содержащий точки для интерполяции |
| X_out- матрица выходных значений аргумента |
| Условие выбора интерполяционной формулы |
| |
| n=size(X); N=n(2); Размер матрицы X m=size(X_inp); M=m(2); Размер матрицы X_inp |
| flag= =0 |
| нет |
| да |
| Y_out[1][ i]=0; X_out[i]=X_inp[i] |
| Цикл 1 i:=1; i<M; |
| Цикл 1 i=i+1 |
| Цикл 2 i:=1; i<M; |
| Нацало цикла для расчета Yout выходного значения функции |
| L2=L2*((X_inp(i)-X(k))/(X(j)-X(k))); |
| Цикл 3 j:=1; j<N; |
| L1:=1 L2:=1 |
| Цикл 4 k:=1; k< j-1; |
| Начало цикла для расчета первой части полинома до элемента (j-1) |
| Конец цикла для расчета первой части полинома до элемента (j-1) |
| L1=L1*((X_inp(i)-X(k))/(X(j)-X(k))); |
| Цикл 4 k=k+1 |
| Цикл 5 k:=j+1; k< N; |
| L2=L2*((X_inp(i)-X(k))/(X(j)-X(k))); |
| Начало цикла для расчета второй части полинома после элемента элемента (j-1) |
| Цикл 5 k=k+1 |
| Цикл 3 j=j+1 |
| Конец цикла для расчета второй части полинома после элемента элемента (j-1) |
| Цикл 2 i=i+1 |
| Y_out(1,i)=Y_out(1,i)+ +L1*L2*Y(j) |
| Конец цикла для расчета Yout выходного значения функции |
| Циклы 6,7,8 для подсчета матрицы конечных разностей d |
| D=N-1; |
| Цикл 6 i:=1; i< D; |
| Конец циклов для подсчета матрицы конечных разностей d |
| d(i,1)=Y(i+1)-Y(i); |
| Цикл 6 i=i+1 |
| Цикл 7 i:=2; i< D; |
| Цикл 8 j:=1; j< D-i+1; |
| d(j,i)=d(j+1, i-1)-d(j, i-1); |
| Цикл 8 j=j+1 |
| Цикл 7 i=i+1 |
| Цикл 9 i:=1; i< M; |
| Циклы 9,10, 11 для расчета Yout выходного значения функции |
| Цикл 11 jj=jj+1 |
| Y_out(1, i)=1; |
| Цикл 10 ii:=1; ii< D; |
| k(i, ii)=1; |
| Цикл 11 jj:=1; jj< ii; |
| k(i, ii)=k(i, ii)*(X_inp(i)-X(jj)); |
| Цикл 11 jj=jj+1 |
| Цикл 10 ii=ii+1 |
| Y_out(1, i)=Y_out(1, i)+(d(1, ii)*k(i, ii)/(factorial(ii)*((X(2)-X(1))^ii))); |
| Цикл 9 i=i+1 |
| Конец циклов для расчета Yout выходного значения функции |
| КОНЕЦ |
Руководство пользователя
Руководство пользователя для файл-функции
Файл-функция inter() запускается из Scilab Console, для этого нужно ввести строку [Yint]=inter(X, Y, Xint, flag). Входные и выходные данные функции подробно описаны в руководстве программиста для файл-функции.
Чтобы получить справочную информацию о работе, входных и выходных параметрах данной функции пользователю нужно в Scilab Console ввести строку: «help inter», после чего в этом же окне появятся справочные данные.