Главная > Математика > Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

4.3. Базис в виде классических ортогональных полиномов

Выбор базисных функций в виде степеней не является оптимальным с тонки зрения решения системы нормальных уравнений с наименьшими погрешностями. Приемлемые результаты в этом случае можно получить, если набор экспериментальных данных с удовлетворительней погрешностью удается аппроксимировать полиномом невысокой степени

Лучшие результаты может дать использование классических ортогональных полиномов Чебышева, Лежандра, Лагерра, Якоби и других в качестве базисных функций. Свойство ортогональности классических полиномов заключается в том, что для каждого типа полиномов существует отрезок на котором обращаются в нуль скалярные произведения полиномов разного порядка с весовой функцией

В случае большого количества узлов х, на отрезке скалярные произведения (4.10) будут близки к дискретным скалярным произведениям (4.5), так как интегрирование можно приближенно заменить суммированием. Значит, недиагональные элементы матрицы Грама станут иметь небольшую абсолютную величину, что позволит уменьшить погрешность решения системы нормальных уравнений.

Заданный интервал в котором расположены все узлы аппроксимируемой функции, с помощью линейного преобразования всегда можно привести к отрезку где определены и ортогональны базисные функции

Для наиболее гладкого представления функций (с минимальным числом и амплитудой выбросов) выбираются полиномы Чебышева которые определены и ортогональны в интервале с весовой функцией Значения полиномов Чебышева определяются по рекуррентной формуле [36]

где

Нетрудно убедиться, что в каждом из полиномов определенном по формуле (4.11), при старших степенях х будет присутствовать коэффициент Последнее обстоятельство не всегда удобно при оценках вклада в аппроксимационную функцию старших степеней х по величине коэффициентов

Полиномы Чебышева можно ввести и по другой рекуррентной формуле [46]

где

Особенностью такой формы полиномов Чебышева является отсутствие коэффициентов у высших степеней х в каждом из полиномов. Недостатком полиномов считают наличие дробного множителя 1/4 в рекуррентной формуле (4.12). Однако это обстоятельство существенно только при ручных вычислениях. При вычислениях на ЭВМ операции деления-умножения на целые числа, являющиеся степенью 2, как правило, реализуются путем уменьшения-увеличения порядка делимого-множителя без изменения его мантиссы. При выполнении таких операций не вносится вычислительная погрешность.

Полиномы ортогональны на отрезке с такой же весовой функцией, что и полиномы

Единичную весовую функцию на отрезке имеют полиномы Лежандра [36], определяемые по рекуррентной формуле

где

Программу метода наименьших квадратов с применением базисов в виде классических ортогональных полиномов построим по схеме, позволяющей легко переходить от одних базисных функций к другим (рис. 4.2).

Рис. 4.2. (см. скан) Блок-схема программы обработки данных методом наименьших квадратов с произвольным базисом

Формирование матрицы Грама (блок 2) осуществляется по общим формулам (4.4)-(4.6). Для этого в отличие от предыдущей программы (рис. 4.1) введено два дополнительных блока В блоке 21 формируется так называемая матрица плана [47], элементами которой являются значения базисных функций в каждом узле . С учетом узлов и базисных функций с нулевыми номерами матрица плана имеет строку и столбец.

Подпрограмма вычисления значений базисных функций оформлена в виде отдельного блока 41, что позволяет мобильно изменять тип используемого базиса.

В основном блоке программы (строки 10-99) введены массивы для размещения таблицы исходных данных; для матрицы плана; А - для матрицы Грама; для базисных функций; С - коэффициенты, определяемые из решения нормальных уравнений.

В программе в диалоговом режиме определяются те же переменные, что и в программе кроме того, дополнительно вводится значение переменной определяющей тип базиса При в качестве базиса выбираются степени х, при полиномы Чебышева при полиномы Чебышева при полиномы Лежандра

Определение значений узлов и значений аппроксимируемой функции осуществляется в блоке 1 (строки 100-190).

Матрица рама формируется в блоке 2 (строки 200-290). Значения базисных функций в каждом из узлов заносятся в матрицу плана (строки 200-230). Затем в соответствии с формулами (4.4}-(4.6) вычисляются элементы матрицы Грама, расположенные выше ее главной диагонали (переменная и столбец свободных членов (переменная Другие элементы матрицы Грама заполняются с учетом свойства ее симметрии относительно главной диагонали.

Систему нормальных уравнений решаем методом Гаусса (строки 300-399), в результате получаем коэффициенты аппроксимирующей функции Значения функции (переменная вычисляются в блоке 4 (строки 400-490), где с помощью цикла реализована формула (4.2). Учитывая, что для всех выбранных базисов сумма инициализируется коэффициентом Значения базисных функций вычисляются в блоке 41 (строки 500-590). С помощью линейного преобразования

интервал изменения аргумента приводится в интервал где определены и ортогональны полиномы Чебышева и Лежандра Значения полиномов вычисляются в цикле по рекуррентным формулам Тип формулы выбирается в зависимости от значения условного числа

В программе матрица Грама А формируется с помощью подпрограммы входными параметрами которой являются переменные количество узлов и базисных функций соответственно; условное число, определяющее тип базиса; массивы узлов и значений аппроксимируемой функции в них. Матрица плана и массив базисных функций описаны как локальные массивы в подпрограмме GRAM.

Вычисление аппроксимирующей функции осуществляется в подпрограмме с входными параметрами имеющими тот же смысл, что и параметры подпрограммы значение аргумента; выходным

параметром является переменная которой присваивается вычисленное значение функции

Базисные функции вычисляются в подпрограмме с входными параметрами и выходными - массивом

В программе в основном блоке описаны три типа данных для двумерного массива МАТ и одномерных массивов и Базисные функции вычисляются в процедуре имеющей входные и выходные параметры, совпадающие по обозначениям и смыслу с параметрами в соответствующей подпрограмме на Фортране. Переход к различным базисам осуществляется с помощью оператора в зависимости от значения условного числа Такой оператор позволяет легко расширять возможный набор базисных функций.

Для решения системы нормальных уравнений в программах используются подпрограммы с именем где реализован метод Гаусса без выбора главного элемента.

Значения переменных при работе с программой следует задавать каждое на единицу больше по сравнению с теми же переменными в программах

Для тестирования программ 4.3 можно использовать ту же функцию, что и в При вычисления по программам дают для функции заданной в четырех узлах, По программе получим такие же результаты при

(см. скан)

(см. скан)

(см. скан)

(см. скан)

(см. скан)

<< Предыдущий параграф Следующий параграф >>
Оглавление