MMSFDU
|
|
1 | |
Интерполяционный многочлен в форме Ньютона09.12.2013, 22:27. Показов 6571. Ответов 1
Метки нет (Все метки)
Есть лабораторная работа - методы приближения функций с интерполяционным многочленом в форме Лагранжа. Нужно переделать чтобы многочлен был в форме Ньютона, ребята помогите, зачет висит на волоске...Полный код прикрепляю в текстовом файле
Методы приближения функций. > f:=(x)->x^3+16; f(2); Построение интерполяционного многочлена Лагранжа степени 3. > a:=-2; b:=2; n:=3; h:=(b-a)/n; > for i from 0 to n do X[i]:=evalf(a+i*h); Y[i]:=evalf(f(X[i])): end do: L:=0: for i from 0 to n do P:=1: for j from 0 to n do if j<>i then P:=P*(x-X[j])/(X[i]-X[j]): end if: end do: L:=L+Y[i]*P: end do: L3:=simplify(L); Построение интерполяционного многочлена Лагранжа степени 4. > a:=-2; b:=2; n:=4; h:=(b-a)/n; > for i from 0 to n do X[i]:=evalf(a+i*h); Y[i]:=evalf(f(X[i])): end do: L:=0: for i from 0 to n do P:=1: for j from 0 to n do if j<>i then P:=P*(x-X[j])/(X[i]-X[j]): end if: end do: L:=L+Y[i]*P: end do: L4:=simplify(L); Построение интерполяционного многочлена Лагранжа степени 3 по нулям Чебышева. > a:=-2; b:=2; n:=3; h:=(b-a)/n; > for i from 0 to n do X[i]:=evalf((b-a)/2*cos(((2*i+1)*Pi)/(2*(n+1)))+(a+b)/2); Y[i]:=evalf(f(X[i])): end do: L:=0: for i from 0 to n do P:=1: for j from 0 to n do if j<>i then P:=P*(x-X[j])/(X[i]-X[j]) : end if: end do: L:=L+Y[i]*P: end do: L3_CH:=simplify(L); Графики полученных функций. > with(plots): gr1:=plot(L3, x=a..b, color = red, thickness = 4): gr2:=plot(L3_CH, x=a..b, color = green, thickness = 8): gr3:=plot(f(x), x=a..b, color = blue, thickness = 12): display(gr1, gr2, gr3); Рассчёт погрешностей. > xc:=0.5; > f1:=subs(x=xc, L3); f2:=subs(x=xc, L3_CH); > pogr1:=abs(f(xc)-f1); pogr2:=abs(f(xc)-f2); Удалось минимизировать погрешность используя в качестве узлов интерполяции корни многочлена Чебышева. Обратная задача интерполирования. Построим линейный многочлен Лагранжа по двум точкам для решения обратной задачи интерполирования. > X[0]:=1; X[1]:=2; Y[0]:=17; Y[1]:=24; yc:=20; > Ly:=0; > for i from 0 to 1 do P:=1; for j from 0 to 1 do if j<>i then P:=P*(y-Y[j])/(Y[i]-Y[j]): fi: od: Ly:=Ly+X[i]*P: od: > LLy:=simplify(Ly); > subs(y=yc, LLy); |
09.12.2013, 22:27 | |
Ответы с готовыми решениями:
1
Интерполяционный многочлен Лагранжа Интерполяционный многочлен ньютона. Интерполяционный многочлен Ньютона Интерполяционный многочлен Ньютона |
Модератор
5277 / 4059 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
|
|
10.12.2013, 12:29 | 2 |
Посмотрите ЗДЕСЬ...
0
|
10.12.2013, 12:29 | |
10.12.2013, 12:29 | |
Помогаю со студенческими работами здесь
2
Интерполяционный многочлен Ньютона Вычислить интерполяционный многочлен Ньютона. Интерполяционный многочлен Ньютона и Лагранджа Построить интерполяционный многочлен Ньютона Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |