ВУЗ:
Составители:
Рубрика:
44
производных (нулевые вторые производные соответствуют распрямле-
нию линии на концах, как в случае реек чертѐжников). Часто использу-
ется условие «без узла», когда на двух крайних интервалах сплайн вы-
ражается одним полиномом. Это условие даѐт плавное изменение кри-
визны у краѐв сплайна.
При вычислениях значений
)(xS
вместе с ординатами
i
y
используются,
например, первые производные
i
p
в узловых точках, которые предва-
рительно вычисляются решением СЛАУ с трѐхдиагональной матрицей.
Вычисление недостающих производных
i
p
в узловых точках и расчѐт
ординат
)(uSv
сплайна в точках
u
выполняется обращением к функ-
ции HS, которая вызывается из библиотеки Math32.dll и должна декла-
рироваться в VBA (см. в модуле Math.bas) оператором:
Declare Function HS Lib "C:\Путь\Math32.dll" _
(ByRef u As Double, ByVal n As Long, ByRef X As Double, ByRef Y As Double, _
ByRef p As Double, ByRef Kod As Long, ByRef KodErr As Long) As Double
Обращаются из VBA к функции HS следующим образом:
v = HS(u, n, x(1), y(1), p(1), Kod, KodErr),
где HS, u, x, y, p типа Double; n, Kod, KodErr типа Long (4 байта).
Функция при Kod
0 вычисляет массив p неизвестных производных
i
p
в узлах, а затем устанавливает Kod в 1 и переходит к следующему
пункту. При Kod
0 узлы сетки сплайна должны строго возрастать.
При Kod>0 функция вычисляет значение
)(uSv
сплайна в точке
u
.
Если при расчете узлы
ii
xx ,
1
совпадают, то принимают
2/)(
1 iii
yyv
.
Значения входных аргументов:
u - абсцисса точки для вычисления ординаты,
n - число узлов сплайна,
x(1), ..., x(n) - абсциссы узлов сплайна,
y(1), ..., y(n) - ординаты узлов сплайна,
p(1), p(n) - производные в граничных узлах сплайна,
Kod - задает способ использования подпрограммы:
Kod={-22, -21, -12, -20, -02, -11, -10, -01, 00, -01, -02,..}
производных (нулевые вторые производные соответствуют распрямле- нию линии на концах, как в случае реек чертѐжников). Часто использу- ется условие «без узла», когда на двух крайних интервалах сплайн вы- ражается одним полиномом. Это условие даѐт плавное изменение кри- визны у краѐв сплайна. При вычислениях значений S (x) вместе с ординатами yi используются, например, первые производные pi в узловых точках, которые предва- рительно вычисляются решением СЛАУ с трѐхдиагональной матрицей. Вычисление недостающих производных pi в узловых точках и расчѐт ординат v S (u) сплайна в точках u выполняется обращением к функ- ции HS, которая вызывается из библиотеки Math32.dll и должна декла- рироваться в VBA (см. в модуле Math.bas) оператором: Declare Function HS Lib "C:\Путь\Math32.dll" _ (ByRef u As Double, ByVal n As Long, ByRef X As Double, ByRef Y As Double, _ ByRef p As Double, ByRef Kod As Long, ByRef KodErr As Long) As Double Обращаются из VBA к функции HS следующим образом: v = HS(u, n, x(1), y(1), p(1), Kod, KodErr), где HS, u, x, y, p типа Double; n, Kod, KodErr типа Long (4 байта). Функция при Kod 0 вычисляет массив p неизвестных производных pi в узлах, а затем устанавливает Kod в 1 и переходит к следующему пункту. При Kod 0 узлы сетки сплайна должны строго возрастать. При Kod>0 функция вычисляет значение v S (u) сплайна в точке u . Если при расчете узлы xi1, xi совпадают, то принимают vi ( yi1 yi ) / 2 . Значения входных аргументов: u - абсцисса точки для вычисления ординаты, n - число узлов сплайна, x(1), ..., x(n) - абсциссы узлов сплайна, y(1), ..., y(n) - ординаты узлов сплайна, p(1), p(n) - производные в граничных узлах сплайна, Kod - задает способ использования подпрограммы: Kod={-22, -21, -12, -20, -02, -11, -10, -01, 00, -01, -02,..} 44
Страницы
- « первая
- ‹ предыдущая
- …
- 42
- 43
- 44
- 45
- 46
- …
- следующая ›
- последняя »