Методическое пособие по решению задач геометрического моделирования в системе MathCAD. Найханов В.В. - 16 стр.

UptoLike

Составители: 

16
формулу полинома:
iiiiiii
huuYhuuuYuuYuuYuP +
++
+++=
++
)()2()23()231()(
32
1
3232
1
32
, где
i
i
h
Xx
u
=
.
Полином Эрмита принято записывать в виде:
iiiiiii
hYuhYuYuYuuP
+
++=
++ 110110
)()()()()(
β
β
α
α
, где
32
1
32
0
32
1
32
0
)(
2)(
23)(
231)(
uuu
uuuu
uuu
uuu
+=
+=
=
+=
β
β
α
α
. В
литературе функции
1010
,,,
β
β
α
α
также называются функциями смешения.
Отметим некоторые особенности составных кривых, где отдельными
сегментами являются интерполяционные полиномы Эрмита. Во-первых, при
использовании полиномов Эрмита необходимо знать производные в узловых
точках. Во-вторых, вид функции на каждом сегменте является
оригинальным, что может затруднить теоретический анализ, когда
необходим общий вид функции в символьном виде.
В третьих, очень удобно
пользоваться полиномами Эрмита при построении составных
пространственных кривых.
Ниже приведен фрагмент документа «MathCAD 2001», реализующий
алгоритм построения полиномов Эрмита на массиве узловых точек при
заданных производных. Отметим, что система «MathCAD 2001» позволяет
достаточно тонко обходить ситуацию, когда вид функции зависит от
сегмента и когда параметр u тоже изменяется при переходе от сегмента
к
сегменту. В данной программе определение параметра u как функции
сегмента носит лишь демонстрационный характер, поскольку сам цикл
построения полиномов Эрмита включает в себя это автоматически.
ORIGIN 0:= M5:=
i0M..:= ft() t
2
:= pt()
t
ft()
d
d
:=
X
i
i:= Y
i
fX
i
()
:= pY
i
pX
i
()
:=
i0M1..:= h
i
X
i1+
X
i
:=
a0 v() 1 3v
2
2v
3
+:= a1 v() 3v
2
2v
3
:= b0 v() v 2v
2
v
3
+:= b1 v() v
2
v
3
+:=
ut() u 0
u
tX
i
h
i
X
i
t X
i1+
<if
i0M1..for
u
:=
Определение массива узловых точек
и производных
Определение функций смешения
Демонстрация зависимости
параметра u от сегмента
                                                                                       16

формулу                                                                                         полинома:
Pi (u ) = Yi ⋅ (1 − 3u + 2u ) + Yi +1 ⋅ (3u − 2u ) + Yi′ ⋅ (u − 2u + u ) ⋅ hi + Yi′+1 ⋅ (−u + u ) ⋅ hi , где
                         2               3                          2              3                2        3                      2        3


     x − Xi
u=          .
       hi
         Полином                             Эрмита                                принято                  записывать                   в           виде:
                                                                                                                        α 0 (u ) = 1 − 3u + 2u 3 2


                                                                                                                        α 1 (u ) = 3u 2 − 2u 3
Pi (u ) = α 0 (u ) ⋅ Yi + α 1 (u ) ⋅ Yi +1 + β 0 (u ) ⋅ Yi′ ⋅ hi + β 1 (u ) ⋅ Yi′+1 ⋅ hi , где                                                        . В
                                                                                                                        β 0 (u ) = u − 2u 2 + u 3
                                                                                                                        β 1 (u ) = −u 2 + u 3
литературе функции α 0 ,α 1 , β 0 , β 1 также называются функциями смешения.
     Отметим некоторые особенности составных кривых, где отдельными
сегментами являются интерполяционные полиномы Эрмита. Во-первых, при
использовании полиномов Эрмита необходимо знать производные в узловых
точках. Во-вторых, вид функции на каждом сегменте является
оригинальным, что может затруднить теоретический анализ, когда
необходим общий вид функции в символьном виде. В третьих, очень удобно
пользоваться   полиномами                Эрмита    при    построении  составных
пространственных кривых.
     Ниже приведен фрагмент документа «MathCAD 2001», реализующий
алгоритм построения полиномов Эрмита на массиве узловых точек при
заданных производных. Отметим, что система «MathCAD 2001» позволяет
достаточно тонко обходить ситуацию, когда вид функции зависит от
сегмента и когда параметр u тоже изменяется при переходе от сегмента к
сегменту. В данной программе определение параметра u как функции
сегмента носит лишь демонстрационный характер, поскольку сам цикл
построения полиномов Эрмита включает в себя это автоматически.

      ORIGIN:= 0             M := 5                                                             Определение массива узловых точек
                                        2              d
      i := 0 .. M        f ( t) := t          p ( t) := f ( t)                                  и производных
                                                       dt
      X := i
        i
                        Y := f X
                         i      ( i)            pY := p X
                                                        i       ( i)
      i := 0 .. M − 1          h := X               −X                                         Определение функций смешения
                                 i           i+ 1           i

                         2           3                          2              3                        2        3              2        3
      a0( v ) := 1 − 3v + 2v                 a1( v ) := 3v − 2v                        b0( v ) := v − 2v + v         b1( v ) := −v + v

        u ( t) :=   u←0
                    for i ∈ 0 .. M − 1                                                           Демонстрация зависимости
                                                                                                 параметра u от сегмента
                              t−X
                                         i
                        u←                   if X ≤ t < X
                                h                   i                   i+ 1
                                    i
                    u