ВУЗ:
Составители:
Рубрика:
// Произвести расчет сплайна с помощью вызова функции
CSpline
// из модуля SplineAlgorithm.pas.
OutputQZ:=CSpline(InputQZ,AmountIntervals);
// Суммировать время расчета сплайна на текущем цикле
// расчета с предыдущим.
FullTime:=FullTime+(GetTickCount-timer);
end;
Form1.Label5.Caption:='Среднее время расчета:
'+FloatToStr(FullTime/k)+'c';//Вывод текста на форму.
Form1.Label6.Caption:='Количество сплайн-интервалов:
'+FloatToStr(Length(OutputQZ.X));
// Максимальное значение исходной функции.
MaxFuncVal:=ABS(MyFunction(OutputQZ.X[0]));
// Установить длину динамических массивов (поля X и Y)
// записи OutputXY равную длине соответствующих массивов за-
писи
// OutputQZ.
SetLength(OutputXY.X,Length(OutputQZ.X));
SetLength(OutputXY.Y,Length(OutputQZ.X));
for i:=0 to Length(OutputQZ.X)-1 do
begin
// Ввод точек интерполированной функции в компонент Chart1
// и вывод их на рабочее поле графика.
Form1.Chart1.SeriesList[1].AddXY(OutputQZ.X[i],OutputQZ.Y[i]
,'',clBlue);
// Определение соответствующих координат точек интерполиро-
ванной
// функции на плоскости XY
OutputXY.X[i]:=DefineXY(OutputQZ.X[i]);
OutputXY.Y[i]:=OutputXY.X[i];
// Определение максимальной величины интерполированной функ-
ции.
if MaxFuncVal<ABS(MyFunction(OutputQZ.X[i])) then
MaxFuncVal:=ABS(MyFunction(OutputQZ.X[i]));
end;
// Установить длину массивов X и Y записи ErrorValue равной
// длине OutputQZ соответствующих массивов.
SetLength(ErrorValue.X,Length(OutputQZ.X));
SetLength(ErrorValue.Y,Length(OutputQZ.X));
// Присвоить соответствующие значения координат по оси абс-
цисс.
ErrorValue.X:=OutputQZ.X;
MaxError:=0; // Максимальная ошибка.
For i:=0 to Length(OutputQZ.X)-1 do
begin
// Величина ошибки в текущей точке по оси Q.
91
Страницы
- « первая
- ‹ предыдущая
- …
- 89
- 90
- 91
- 92
- 93
- …
- следующая ›
- последняя »