Руководство пользователя для файл-функции
ОБЩИЕ СВЕДЕНИЯ
Программа написана на языке программирования системы 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», после чего в этом же окне появятся справочные данные.