Численные методы решения систем линейных уравнений

Автор: Пользователь скрыл имя, 23 Апреля 2012 в 19:36, реферат

Описание работы

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

Содержание

I. Ведение………………………………………………………………....................................2
II. Цели и задачи………………………………………………………………………………..4
III. Методы решения систем линейных уравнений………………….…………………...….5
1. Прямые методы решения…………………………………………………………...5
a. Матричный метод…………………………………………………………..5
b. Метод Крамера……………………………………………………………...6
c. Метод Гаусса………………………………………………………………..8
2. Итерационные методы решения………………………………………………….11
a. Метод простой итерации (метод Якоби)…………………………………11
b. Общий неявный метод простой итерации……………………………….14
c. Метод Зейделя…………………………………………………………….16
d. Метод верхней релаксации………………………………………………..18
e. Метод П.Л. Чебышева……………………………………………………..20
IV. Методы решения систем линейных уравнений в приложении MATLAB………………………………………………………………………………….....23
V. Методы решения систем линейных уравнений в приложении MAPLE…………………………………………………………………………………………..26
VI. Заключение………………………………………………………………………………….29
VII. Литература…………………………………………………………………………………30

Работа содержит 1 файл

Численные методы решения систем линейных уравнений.docx

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

        || Zк||B qк|| Z0||B ,то из теоремы получается для числа итераций к следующая оценка: .

      Сравнивания эту оценку с оценкой числа  итераций для метода простой итерации получим, что чебышевский метод  более точный. 

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

  Этот  метод неудобен для вычисления на ЭВМ, так как на ЭВМ ведутся  вычисления с конечным числом знаков. И так же возникает теоретическая проблема – указать такой наилучший закон упорядочения значений , при котором для чебышевского метода было бы наименьшим влияние ошибок округления. 
 
 

 

      Методы решения систем линейных  уравнений в приложении MATLAB

    Данную  систему уравнений решить, используя  функции приложения MATLAB.

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

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

    A=[1 -2 1; 2 -5 -1; -7 0 1];

    b=[2; -1; -2];

    x=inv(A)*b % Решение системы x=A-1b

    Результатом будет:

    x =

    0.5200

    0.0800

    1.6400

 

    Для того чтобы решить систему линейных уравнений методом Гаусса, необходимо выполнить следующие действия:

  • сформировать матрицу коэффициентов   и вектор свободных членов   заданной системы;
  • сформировать расширенную матрицу системы, объединив   и  ;
  • используя функцию rref, привести расширенную матрицу к ступенчатому виду;
  • найти решение системы, выделив последний столбец матрицы, полученной в предыдущем пункте;
  • выполнить вычисление  ; если в результате получился нулевой вектор, задача решена верно.

    A=[1 -2 1; 2 -5 -1; -7 0 1];

    b=[2; -1; -2];

    C=rref([A b]); %Приведение расширенной матрицы к треугольному виду

    x=C(1:3,4:4)%Выделение  последнего столбца из матрицы

    Результатом будет:

    x =

    0.5200

    0.0800

    1.6400 
     
     
     
     
     
     
     

 

    Создадим  функцию в MATLAB, которая решает систему линейных уравнений методом Крамера:

    function x = sUr( w,e )

    % w- матрица  коэффициентов

    % e- вектор  правой части уравнения

    [m,n]=size(w);  % узнаем размерность матрицы

    x=(1:n)';       % вектор решения

    k=1;          % индекс в массиве х

    d=det(w);      % считаем определитель исходной  матрицы

    if d~= 0

    a1=w;     

    for j=1:n       % считаем определители и Х

        for i=1:n

            a1(i,j)=e(i);   % меняет столбец исходной  матрицы на вектор правой части

        end;

        d1=det(a1);    % считаем определитель

        x(k)=d1/d;    % считаем Х

        k=k+1;       % увеличиваем  индекс в массиве х

        a1=w;      % возвращаем исходную  матрицу

    end;

    end;

    end 

    Введём матрицу:

    >> A=[1 -2 1; 2 -5 -1; -7 0 1] 

    A = 

         1    -2     1

         2    -5    -1

        -7     0     1 

    >> b=[2; -1; -2] 

    b = 

         2

        -1

        -2

    Вызываем  функцию: 

    >> x=sUr(A,b)

    Получаем  результат:

    x =

        0.5200

        0.0800

        1.6400

    Методы решения систем линейных уравнений в приложении MAPLE

Использование функций приложения MAPLE для решения систем линейных уравнений.

    метод Крамера

    > with(linalg):

    > A:=matrix([[2,5,4],[1,3,2],[2,10,9]]);

    Определители:

    > Opr(A):=det(A);

    > B:=matrix([[30,5,4],[150,3,2],[110,10,9]]);

    > Opr(B):=det(B);

    > C:=matrix([[2,30,4],[1,150,2],[2,110,9]]);

    > Opr(C):=det(C);

    > De:=matrix([[2,5,30],[1,3,150],[2,10,110]]);

    > Opr(De):=det(De);

    > x1:=Opr(B)/Opr(A);

    > x2:=Opr(C)/Opr(A);

    > x2:=Opr(De)/Opr(A);

 

    матричный метод

    Сначала убедимся, что определитель матрицы  из коэффициентов при неизвестных не равен нулю:

    > A:=matrix([[3,2,-1],[2,-1,5],[1,7,-1]]);

    > Opr(A):=det(A);

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

    > f:=(i,j)->(-1)^(i+j)*(det(minor(A,i,j)));

    > C:=matrix(3,3,f);

    транспонируем ее:

    > CT:=transpose(C);

    Находим обратную для А матрицу с помощью функций:

    > ObrA:=inverse(CT);

    > ObrA:=evalm(1/CT);

       

    Задаём  столбец свободных членов:

    > E:=matrix([[4],[23],[5]]);

    Находим неизвестные:

    > X:=evalm(ObrA&*E);

    > X:=multiply(ObrA,E);

    > X:=evalm(ObrA1&*E);

    > X:=multiply(ObrA1,E);

 
 
 

 

    Заключение

      В работе мы продемонстрировали различные методы решения систем линейных уравнений. Были выявлены их достоинства и недостатки. В процессе работы нами были выявлены наиболее простые и быстрые методы решения систем. Мы выяснили, что итерационные методы весьма удобны для использования современной вычислительной техникой.

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

      При использовании итерационных процессов, сверх того, добавляется погрешность  метода.

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

      Список  используемой литературы

    1. В.А. Ильин, Э.Г. Позняк Линейная алгебра, издание третье, дополненное.- Москва, Наука, 1984.-290с.
    2. . А.Г. Цыпкин Справочник по математике, издание четвёртое.- Москва.: Наука, 1988.- 432с.  
    3. Мэтьюз, Джон, Г., Финк, Куртис, Численные методы. Использование MATLAB, 3-е издание. : Пер. с англ. – М.: Издательский дом «Вильямс», 2001.-720 с. 
    4. Бахвалов Н. С., Жидков Н. П., Кобельков Г. М. Численные методы – М.: Лаборатория Базовых Знаний, 2002 г. – 632 с.

Информация о работе Численные методы решения систем линейных уравнений