Моделирование задач радиофизики и электроники в системе Mathcad. Радченко Ю.С - 6 стр.

UptoLike

6
()
++∆=
′′′
...y3p2
2
1
y
h
1
)x(f
0
4
0
3
3
, (1.11)
где h = x
i
- x
i-1
, p=(x
- x
0
)/h .
Значения производных в узлах интерполяции x
i
(i=0 n), для которых p
целое число, можно найти из (1.10) при x = x
0
и p = 0.
Реализация численных методов интерполяции и
дифференцирования в системе MathCAD может быть проведена на основе
аппарата индексированных переменных и стандартных функций вычисления
сумм и произведений системы и на основе применения программных средств
[6-10].
На рис . 1.1 приведён пример программы интерполяции полиномами
Лагранжа. Интерполируемая зависимость задана векторами значений
аргумента X и функции Y. Документ состоит из программы определения
коэффициентов Лагранжа L(X,Y,k,) и процедуры нахождения
интерполирующего полинома P(X,Y,x) по этим коэффициентам . Перед
вызовом программы необходимо задать вид интерполируемой зависимости в
виде векторов (пример 1) или индексированных переменных (пример 1) .
Программа иллюстрируется на примере интерполяции двух
зависимостей: удовлетворительной интерполяции гладкой кривой (пример 1)
и неудовлетворительной интерполяции более сложной функции (пример 2).
Для улучшения качества интерполяции и уменьшения осцилляции
интерполирующего полинома можно применить расположение узлов
интерполяции не через равномерные интервалы, а в соответствии с нулями
полиномов Чебышева [1,2]:
]
)1n(2
1i2
cos[x
i
+
+
π= .
Система MathCAD позволяет осуществить интерполяцию зависимостей,
заданных вектором значений по оси абсцисс X и ординат Y, на основе
нескольких стандартных функций:
1. Функции линейной интерполяции linterp(X,Y,x) (x - переменная, от
которой зависит интерполирующая (аппроксимирующая) функция).
2. Функции интерполяции кубическими сплайнами. При применении
этих функций проводится построение выбранного вида сплайнов на основе
функций:
lspline(X,Y)(функция используется для построения сплайна с линейным
продолжением);
pspline(X,Y)(функция используется для построения сплайна с продолжением
параболой);
cspline(X,Y)(функция используется для построения сплайна с продолжением
кубической параболой).
Результатом действия перечисленных функций является построение вектора,
содержащего специальные переменные, определяющие вид сплайна (3
                                                        6

                1  3
f ′′′( x ) =     3 
                     ∆ y 0 +
                             1
                               (2p − 3)∆4 y 0 + ...       ,                 (1.11)
               h            2                      

гд е h = xi - xi-1, p=(x - x0)/h .
    Значения производ ных в узлах инт ерполяции xi (i=0… n), д ля к от орых p –
целое чис ло, можно найт и из (1.10) при x = x0 и p = 0.
      Реал изация            числ ен н ы х         методов    ин терпол яции         и
диф ферен циров ан ия в системе MathCAD может быт ь провед ена на ос нове
аппарат а инд ек с ированных переменных и с т анд арт ных ф унк ций вычис ле ния
с умм и произвед ений с ис т емы и на ос нове применения программных с ред с т в
[6-10].
       Н а рис . 1.1      привед ё н пример программы инт ерполяции полиномам и
Лагранжа. Инт ерполируемая завис имос т ь зад ана век т орами значений
аргумент а X и ф унк ции Y. Д ок умент с ос т оит из программы опред еле ния
к оэф ф ициент ов        Лагранжа       L(X,Y,k,)      и   процед уры    нах ожд е ния
инт ерполирую щ его полинома P(X,Y,x) по эт им к оэф ф ициент ам. Перед
вызовом программы необх од имо зад ат ь вид инт ерполируемой завис имос т и в
вид е век т оров (пример 1) или инд ек с ированных переменных (пример 1) .
      Программа иллю с т рирует с я на примере инт ерполяции д вух
завис имос т ей: уд овлет ворит ель ной инт ерполяции глад к ой к ривой (пример 1)
и неуд овлет ворит ель ной инт ерполяции более с ложной ф унк ции (пример 2).
Д ля улучш ения к ачес т ва инт ерполяции и умень ш ения ос цилляции
инт ерполирую щ его полинома можно применит ь рас положение узлов
инт ерполяции не через равномерные инт ервалы, а в с оот вет с т вии с нулям и
полиномов Ч ебыш ева [1,2]:
                                        2i + 1
                            xi = cos[π           ].
                                       2( n + 1)
      Сис т ема MathCAD позволяет ос ущ ес т вит ь инт ерполяцию завис имос т ей,
зад анных век т ором значений по ос и абс цис с X и орд инат Y, на ос нове
нес к оль к их с т анд арт ных ф унк ций:
      1. Ф унк ции линейной инт ерполяции linterp(X,Y,x) (x - переменная, от
к от орой завис ит инт ерполирую щ ая (аппрок с им ирую щ ая) ф унк ция).
      2. Ф унк ции инт ерполяции к убичес к ими с плайнами. При применении
эт их ф унк ций провод ит с я пос т роение выбранного вид а с плайнов на ос нове
ф унк ций:
lspline(X,Y)(ф унк ция ис поль зует с я д ля пос т роения с плайна с линейным
прод олжением);
pspline(X,Y)(ф унк ция ис поль зует с я д ля пос т роения с плайна с прод олжением
параболой);
cspline(X,Y)(ф унк ция ис поль зует с я д ля пос т роения с плайна с прод олжением
к убичес к ой параболой).
Резуль т ат ом д ейс т вия перечис ленных ф унк ций являет с я пос т роение век т ора,
с од ержащ его с пециаль ные переменные, опред еляю щ ие вид с плайна (3