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

UptoLike

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

22
Ниже приведен фрагмент документа «MathCAD 2001», реализующий
алгоритм построения кубического сплайна с краевыми условиями первого
рода. Отметим, что система уравнений относительно узловых первых
производных решается матричным способом.
pY A
1
c:=
A
MM1,
λ
M
:=A
01,
μ
0
:=A
ii 1+,
μ
i
:=A
ii1,
λ
i
:=i1M1..:=
A
ii,
2:=A
ij,
0:=j0M..:=i0M..:=
c
M
4X
M
:=c
0
0:=λ
M
0:=μ
0
0:=
c
i
3 μ
i
Y
i1+
Y
i
h
i
⋅λ
i
Y
i
Y
i1
h
i1
+
:=λ
i
1 μ
i
:=μ
i
h
i1
h
i
h
i1
+
:=i1M1..:=
h
i
X
i1+
X
i
:=i0M1..:=
Y
i
fX
i
()
:=X
i
i:=ft() t
2
:=i0M..:=
b1 v() v
2
v
3
+:=b0 v() v 2v
2
v
3
+:=a1 v() 3v
2
2v
3
:=a0 v() 1 3v
2
2v
3
+:=
M10:=ORIGIN 0:=
Ermit t() E 0
z
tX
i
h
i
EY
i
a0 z() Y
i1+
a1 z()+ pY
i
b0 z() h
i
+ pY
i1+
b1 z() h
i
+
X
i
t X
i1+
<if
i0M1..for
E
:=
0246810
0
50
100
Ermit t()
Y
i
tX
i
,
4. Метод прогонки
Для решения линейных систем уравнений существует множество
различных методов. Конечно, систему уравнений для значений первых
производных с трехдиагональной матрицей коэффициентов, полученных в
предыдущем параграфе можно решить матричным способом. Но специально
                                                                                                          22

     Ниже приведен фрагмент документа «MathCAD 2001», реализующий
алгоритм построения кубического сплайна с краевыми условиями первого
рода. Отметим, что система уравнений относительно узловых первых
производных решается матричным способом.

    ORIGIN:= 0               M := 10
                     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

  i := 0 .. M            f ( t) := t
                                         2
                                                     X := i
                                                           i
                                                                       Y := f X
                                                                             i          ( i)
  i := 0 .. M − 1          h := X                        −X
                             i               i+ 1               i
                                              h                                                                         ⎛       Y             −Y                 Y −Y
                                                                                                                                                                                 i− 1 ⎞
                                                                                                          c := 3 ⋅ ⎜ μ i ⋅                                                            ⎟
                                                i− 1                                                                                 i+ 1           i                 i
  i := 1 .. M − 1          μ i :=                                      λi := 1 − μ i                                                                    + λi ⋅
                                         h +h                                                              i            ⎜                 h                               h          ⎟
                                             i            i− 1                                                          ⎝                     i                               i− 1   ⎠
  μ 0 := 0       λM := 0              c := 0 c                      := 4 X
                                         0                      M                M

  i := 0 .. M     j := 0 .. M                    A              := 0        A           := 2
                                                         i, j                    i, i

  i := 1 .. M − 1            A                   := λi                 A                := μ i    A                := μ 0       A                  := λM
                                     i , i− 1                              i , i+ 1                   0, 1                          M , M −1

                −1
    pY := A          ⋅c

  Ermit( t) :=    E← 0
                     for i ∈ 0 .. M − 1
                      if X ≤ t < X
                                 i                       i+ 1
                                             t−X
                                                           i
                             z←
                                                 h
                                                     i
                             E ← Y ⋅ a0( z) + Y                                    ⋅ a1( z) + pY ⋅ b0( z) ⋅ h + pY                                 ⋅ b1( z) ⋅ h
                                                 i                          i+ 1                           i                i             i+ 1                    i
                  E

                                         100




                      Ermit( t )
                                             50
                      Yi




                                                 0
                                                     0                 2                     4                 6            8                 10
                                                                                                 t , Xi



4. Метод прогонки
     Для решения линейных систем уравнений существует множество
различных методов. Конечно, систему уравнений для значений первых
производных с трехдиагональной матрицей коэффициентов, полученных в
предыдущем параграфе можно решить матричным способом. Но специально