Интерполяционный полином Лагранжа - Pascal
Формулировка задачи:
y=ln(1+x)\(1-x) Дана функцыя.
Нужно выбрать интервал [a,b] і четыре узла интерполяции в ньом х0, х1, х2, і х3, вычислить значение заданой функцыи у этих точках у0, у1, у2, у3. По этим даним сформировать интерполяцыонний полином Лагранжа L3;
вычислить значенние заданой функциииі полинома при 10 значениях х, которые не совпадают с вузлами интерполяции (x є [a,b] )
в формулах я разобрался и математически думаю що смогу решить. но я не могу составить таблицу х0, х1, х2, і х3
у0, у1, у2, у3. ( тут я не понял с чего начять.
помогите пожалуйста с таблицей.
зараннее спасибо.
ну, а если можно, то и с пограмой
Решение задачи: «Интерполяционный полином Лагранжа»
textual
Листинг программы
const n=4; m=10; var L:double; i,j,k:integer; x:array[0..n] of double; y:array[0..n] of double; z:array[0..m] of double; begin for i:=0 to n-1 do begin write('x[',i,']=');readln(x[i]); y[i]:=ln(1+x[i])/(1-x[i]); end; writeln; for i:=0 to m-1 do begin write('z[',i+1,']=');readln(z[i]); end; writeln; for k:=0 to m-1 do begin x[n]:=z[k]; y[n]:=0; for j:=0 to n-1 do begin L:=1; for i:=0 to n-1 do if i<>j then L:=L*(x[n]-x[i])/(x[j]-x[i]); y[n]:=y[n]+y[J]*L; end; writeln(' f(',z[k]:5:5,') = ',y[n]:5:5); end; readln; end.
Объяснение кода листинга программы
- Объявляются переменные n, m, L, i, j, k, x, y, z.
- Задаются начальные значения для массива x и y.
- Вычисляется интерполяция для каждого значения z из массива z.
- Выводится значение интерполируемой функции для каждого значения z.
- Код завершается, ожидая ввода от пользователя.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д