Численные методы решения инженерных задач в пакете MathCAD. Бедарев И.А - 38 стр.

UptoLike

40
],[),(
)!1(
)(
)(
1
0
)1(
baxz
N
g
zr
N
i
i
N
+
=
+
=
+
ξ
ξ
.
Из этой формулы следует, что погрешность метода зависит от
свойств функции g(x), а также от расположения узлов интерполя-
ции и точки z. Как показывают расчетные эксперименты, полином
Лагранжа имеет малую погрешность при значениях N < 20. При
бόльших N погрешность начинает расти, что свидетельствует о
том, что метод Лагранжа не сходится
(т.е. его погрешность не
убывает с ростом N).
Для вычисления значений полинома нужно выполнить ко-
личество действий, пропорциональное N
2
. В случае небольшого
числа N их можно выполнить на калькуляторе. Если N велико,
для вычислений необходимо использовать ЭВМ. На рис. 3.3
приведен тест программы MathCAD для нахождения в точке
z = 0.35 значения полинома Лагранжа, интерполирующего функ-
цию f = sin(x).
fx( ) sin x():= x 0 0.1 0.2 0.3 0.4 0.5 0.6()
T
:= yfx():=
lagrang z() s 0
p1
pp
zx
k
()
x
i
x
k
()
ikif
k06,for
ssy
i
p+
i06,for
s
:=
lagrang 0.35()
= f 0.35()=
Рис. 3.3.
Построение интерполирующего полинома Лагранжа
                     g ( N +1) (ξ ) N +1
                   r ( z) =         ∏ ( z − xi ), ξ ∈ [a, b] .
                      ( N + 1)! i = 0
     Из этой формулы следует, что погрешность метода зависит от
свойств функции g(x), а также от расположения узлов интерполя-
ции и точки z. Как показывают расчетные эксперименты, полином
Лагранжа имеет малую погрешность при значениях N < 20. При
бόльших N погрешность начинает расти, что свидетельствует о
том, что метод Лагранжа не сходится (т.е. его погрешность не
убывает с ростом N).
     Для вычисления значений полинома нужно выполнить ко-
личество действий, пропорциональное N 2. В случае небольшого
числа N их можно выполнить на калькуляторе. Если N велико,
для вычислений необходимо использовать ЭВМ. На рис. 3.3
приведен тест программы MathCAD для нахождения в точке
z = 0.35 значения полинома Лагранжа, интерполирующего функ-
цию f = sin(x).
                                                                   T
     f ( x) := sin ( x)       x := ( 0 0.1 0.2 0.3 0.4 0.5 0.6 )       y := f ( x)
     lagrang ( z) :=      s←0
                          for i ∈ 0 , 6
                                p←1
                                for k ∈ 0 , 6

                                  p ← p⋅
                                            (z − xk)    if i ≠ k
                                            (xi − xk)
                                s ← s + y ⋅p
                                             i
                          s

     lagrang ( 0.35) =                    f ( 0.35) =

    Рис. 3.3. Построение интерполирующего полинома Лагранжа




                                                 40