Среднеквадратичные приближения функций

Автор: Пользователь скрыл имя, 09 Марта 2013 в 10:59, курсовая работа

Краткое описание

Сложные вычислительные задачи, возникающие при исследовании физических и технических проблем, можно разбить на ряд элементарных - таких как вычисление интеграла, решение дифференциального уравнения и т. п. Многие элементарные задачи являются несложными и хорошо изучены. Для этих задач уже разработаны методы численного решения, и нередко имеются стандартные программы решения их на ЭВМ. Есть и достаточно сложные элементарные задачи; методы решения таких задач сейчас интенсивно разрабатываются (например, решение уравнений бесстолкновительной плазмы).

Оглавление

Введение..............................................................................................................3
§1. СРЕДНЕКВАДРАТИЧНЫЕ ПРИБЛИЖЕНИЯ……………………...4
1.1. Наилучшее приближение........................................................................6
1.2. Линейная аппроксимация........................................................................8
1.3. Суммирование рядов Фурье...................................................................12
1.4. Метод наименьших квадратов................................................................13
§2. Приближение функций, заданных таблицей, тригонометрическими многочленами по методу наименьших квадратов....................................15
§3. Реализация и тестирование метода наименьших квадратов.
3.1. Описание программы..................................................................................19
3.2. Тестирование программы...........................................................................22
Заключение.........................................................................................................23
Литература..........................................................................................................24
Текст программы................................................................................................25

Файлы: 1 файл

Kursovaya_po_chislakam.doc

— 480.50 Кб (Скачать)

Во-вторых, если надо суммировать  много членов ряда, то происходит большое  накопление погрешности входных  данных и даже погрешности округления. Например, ряд Тейлора для y(x) = sinx сходится при любых значениях аргумента. Вычислим sin 2550°, используя ЭВМ с 16 значащими цифрами и прекращая вычисления, когда очередной член ряда будет менее 10-8. Получим бессмысленный ответ: sin 2550° = 29,5!

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

т. е. при  изменение суммы бесконечно велико. Таким образом, суммирование бесконечного ряда Фурье является некорректной задачей, и требуется для этого регуляризация суммирования.

 

 

 

 

 

 

1.4. Метод наименьших квадратов.

Если вещественные функции  заданы таблично, т. е. на конечном множестве  точек, то их скалярное произведение определяется формулой

        (5)

где N — полное число узлов таблицы. Тогда условие наилучшего среднеквадратичного приближения примет вид

          (6)

Выберем линейную аппроксимацию

с  числом   членов  .   Тогда   коэффициенты   аппроксимации находятся   из  уравнений (3), где скалярные произведения надо брать согласно (5); эти уравнения можно получить и непосредственно, подставляя обобщенный многочлен в (6) и приравнивая нулю производные по коэффициентам. Описанный способ нахождения  аппроксимации   называется методом наименьших квадратов. Метод наименьших  квадратов  широко используют для обработки   экспериментальных   кривых,   точки   которых   измерены с заметной   погрешностью  .   В   этом  случае   весу придают смысл  точности   измерения  данной  точки:   чем  выше   точность, тем большее  значение  веса  приписывают точке. Аппроксимирующая   кривая  будет проходить ближе к точкам  с большим весом. Сходные соображения используют в математической постановке задачи: выбирают весовую функцию большой при тех значениях аргумента, где нужно получить более высокую локальную точность аппроксимации.

Если  число   коэффициентов аппроксимации   п    взять   равным числу узлов N, то среднеквадратичная аппроксимация совпадет с лагранжевой интерполяцией. Очевидно, при наличии значительных ошибок эксперимента интерполяция неразумна. Это хорошо видно из рис. 4, показывающего описание измерений радиоактивного распада в выравнивающих переменных интерполяционным многочленом (пунктир) и прямой, найденной методом

наименьших квадратов. Поскольку при среднеквадратичная аппроксимация близка к интерполяции, то хорошее сглаживание ошибок эксперимента будет при ; но если n слишком мало, то для описания сложной кривой коэффициентов может не хватить. Должно существовать какое-то оптимальное число коэффициентов; оно зависит от функции у(х), числа узлов N, их расположения, весов и от выбранной системы .

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

Обычно начинают расчет с n = 1, когда наверняка , и увеличивают число коэффициентов до тех пор, пока не выполнится условие . Если при этом , то вид аппроксимирующей функции выбран удачно. Если же , то следует поискать более подходящий вид аппроксимирующей функции.

 

 

 

 

 

 

 

 

 

 

§2. Приближение функций,  заданных таблицей,

тригонометрическими многочленами  по методу

наименьших  квадратов

Пусть  узлы расположены на отрезке (0, 2π]:

,

и в качестве системы Чебышева возьмем тригонометрические функции:

1, cos x, sin x, cos 2x,  sin 2x,  ..., cos nx,  sin nx.         (1)

Будем предполагать, что . В этом случае согласно общей теории будет однозначно определяться тригонометрический многочлен

              (2)

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

Решив   эту   систему,   мы   сумеем   найти   приближающий многочлен.

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

Пусть 

                (4)

Тогда справедливы следующие равенства:

если k+r и k - r не являются кратными N и .

В   силу   полученных   нами   равенств   система   для   определения коэффициентов  упростится и примет вид

или

Последние формулы носят  название формул Бесселя. Заметим, что формулы Бесселя можно получить из формул для коэффициентов Фурье функции f(x):

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

Укажем также на связь  коэффициентов, полученных по формулам Бесселя, и коэффициентов ряда Фурье функции f(x), если эта функция разлагается в равномерно сходящийся ряд Фурье:

Учитывая наши равенства  и беря N=2p, будем иметь:

Таким образом,

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

          §3. Реализация и тестирование метода наименьших квадратов.

3.1. Описание программы

3.2. Тестирование программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Заключение

 

В данной работе, а конкретно  в теоретической части, были рассмотрены  некоторые из часто применяемых  на практике методов решения функций. Каждый из рассматриваемых методов имеет свои достоинства и недостатки, но все же они позволяют без особых затрат получить искомое решение. Особое внимание было уделено рассмотрению метода наименьших квадратов для решения функций. Именно стремление повысить вычислительную эффективность алгоритма при выполнении его на ЭВМ привело к разработке этого метода. Мной была написана программа, которая находит решение у(х) уравнения , которое при заданном значении х0 аргумента х принимает заданное значение и . В конкретном случае в практической части моей работы находится точное решение уравнения на отрезке [0,1], удовлетворяющее начальным условиям   ,  с шагом h=0,2. Пользователь может получить меньше значений на рассматриваемом отрезке, чем необходимо, или больше. В  результате было выявлено, что метод Рунге – Кутты четвертого порядка точности является достаточно точным.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Литература:

 

1.  Бахвалов Н.С., Жидков  Н.П., Кобельков Г.М. Численные  методы. М: Наука, 1987.

2.  Вержбицкий В.М. Основы численных методов. М.: Высшая школа. 2002.

3.  Калиткин Н.Н.  Численные методы. М: Наука, 1987.

4.   Крылов В.И. и др. Вычислительные методы, т.И. М.: Наука, 1977.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Листинг программы.

 

 

Program Rynge2;

uses crt;

type mas=array[1..10] of real;

//-------------------------------------------------------------------

var Y,Y1,k1,k2,k3,k4: mas;

    a,b,h,x1,x:real;

    i,n,nn,m:integer;

//-------------------------------------------------------------------

function F(m:integer;x:real;y:mas):real;

    begin

         case m of

         1: F:=y[2];

         2: F:=2*x-y[1]+y[2];

         else F:=0;

         end;

    end;

//-------------------------------------------------------------------

 

begin

clrscr;

     writeln('Введите  количество уравнений = 2');

    read(m);

     writeln('Задайте  начальные условия y(x)= ');

     for i:=1 to 2 do read(Y[i]);

     writeln('Введите количество отрезков разбиения nn=');

     read(nn);

     writeln('Введите отрезок a,b ');

     read(a,b);

     h:=(b-a)/nn;

  //-------------------------------------------------------------------  

for n:=0 to nn-1 do

         begin

         x:=a+h*n;

         writeln('x=',x);

         for i:=1 to m do k1[i]:=F(i,x,Y);

         for i:=1 to m do Y1[i]:=Y[i]+h*k1[i]/2;

         x1:=x+h/2;

         for i:=1 to m do k2[i]:=F(i,x1,Y1);

         for i:=1 to m do Y1[i]:=Y[i]+h*k2[i]/2;

         for i:=1 to m do k3[i]:=F(i,x1,Y1);

         for i:=1 to m do Y1[i]:=Y[i]+h*k3[i];

         x1:=x+h;

         for i:=1 to m do k4[i]:=F(i,x1,Y1);

         for i:=1 to m do

             begin

             Y[i]:=Y[i]+h*(k1[i]+2*k2[i]+2*k3[i]+k4[i])/6;

             end;

  //-------------------------------------------------------------------

    

writeln('OTBET: Y(1)=',Y[1]:3:7);

writeln('OTBET: Y(2)=',Y[2]:3:7);

        end;

end.




Информация о работе Среднеквадратичные приближения функций