Главная страница
Навигация по странице:

  • Задание

  • Теоретический материал

  • Пример решения СЛАУ методом Якоби в MatLab

  • Содержание отчета

  • Контрольные вопросы

  • Мет.указания по лабораторным работам. Лабораторная работа 1. 3 Основы теории погрешностей 3 Лабораторная работа 2. 11 Основы теории погрешностей 11


    Скачать 0.72 Mb.
    НазваниеЛабораторная работа 1. 3 Основы теории погрешностей 3 Лабораторная работа 2. 11 Основы теории погрешностей 11
    Дата27.04.2023
    Размер0.72 Mb.
    Формат файлаdocx
    Имя файлаМет.указания по лабораторным работам.docx
    ТипЛабораторная работа
    #1093112
    страница6 из 14
    1   2   3   4   5   6   7   8   9   ...   14

    Лабораторная работа №7.

    « Использование итерационных численных методов для решения СЛАУ»



    Цель работы: сформировать у студентов представление о итерационных численных методах решения СЛАУ, ознакомить с методом Якоби, научить использовать данные методы с использованием MatLab.
    Задание: Решить СЛАУ методом Якоби, как в ручную, так и в MatLab. Обеспечить точность нахождения корней на уровне =10-4.
    Варианты заданий:

    № варианта

    Система уравнений

    1



    2



    3



    4



    5



    6



    7



    8



    9



    10



    11



    12



    13



    14



    15




    Теоретический материал:
    Дана система линейных алгебраических уравнений вида:


    Приведем СЛАУ к эквивалентному виду:



    , .

    При таком способе приведения исходной СЛАУ к эквивалентному виду метод простых итераций носит название метода Якоби.

    В векторно-матричной форме

    .

    В качестве нулевого приближения вектора неизвестных примем вектор правых частей или . Тогда итерационный процесс будет иметь вид:



    Достаточным условием сходимости является диагональное преобладание матрицы , т.е. (для каждой строки матрицы модули элементов, стоящих на главной диагонали, больше суммы модулей недиагональных элементов). Очевидно, что в этом случае меньше единицы и, следовательно, итерационный процесс сходится.
    Пример решения СЛАУ методом Якоби в MatLab :

    1. Создадим М-фаил yakobi.m

    function X=yakobi(A,B,X0,delta,Imax)

    % Итерация Якоби.

    % A - невырожденная матрица коэффициентов

    % размером n x n;

    % B - вектор-столбец свободных членов;

    % X0 - вектор-столбец начального приближения;

    % delta - допустимая относительная погрешность;

    % Imax - максимальное число итераций;

    % X - приближенное решение линейной системы AX = B.
    n=length(B);

    err=5*delta;

    X=X0;

    ct=0;

    while err>delta

    Xp=X;

    for i=1:n

    X(i)=(B(i)-A(i,[1:i-1,i+1:n])* Xp([1:i-1,i+1:n]))/A(i,i);

    end

    if max(abs(X0))==0

    error('Следует изменить начальное приближение')

    break

    end

    err=max(abs(X-Xp))/max(abs(X0));

    ct=ct+1;

    Xe(ct,:)=[X' err];

    if ct>Imax

    error('Требуемое число итераций слишком велико')

    break

    end

    end

    Xe

    ct
    2. Далее в командной строке последовательно набираем команды, приведенные ниже.

    A=[ 2 -1 1; 4 -6 1; -2 1 8];
    B=[2; -4; 16];
    X0=[1; 2; 2];
    X=yakobi(A,B,X0,1e-5,1e2)

    Первая из них задает матрицу коэффициентов А размером 3 на 3, вторая – вектор-столбец свободных членов В размером 3 на 1, третья – вектор-столбец начального приближения Х0 размером 3 на 1 и четвертая осуществляет запуск итерационного процесса Якоби с заданными параметрами.
    3. Полученные результаты будут представлены на экране монитора в следующем виде:

    Xe =

    1.0000 1.6667 2.0000 0.1667

    0.8333 1.6667 2.0417 0.0833

    0.8125 1.5625 2.0000 0.0521

    0.7813 1.5417 2.0078 0.0156

    0.7669 1.5221 2.0026 0.0098

    0.7598 1.5117 2.0015 0.0052

    0.7551 1.5068 2.0010 0.0025

    0.7529 1.5036 2.0004 0.0016

    0.7516 1.5020 2.0003 0.0008

    0.7509 1.5011 2.0001 0.0005

    0.7505 1.5006 2.0001 0.0002

    0.7503 1.5003 2.0000 0.0001

    0.7501 1.5002 2.0000 0.0001

    0.7501 1.5001 2.0000 0.0000

    0.7500 1.5001 2.0000 0.0000

    0.7500 1.5000 2.0000 0.0000

    0.7500 1.5000 2.0000 0.0000
    ct =17
    X =

    0.7500

    1.5000

    2.0000

    где первые три столбца матрицы Хе представляют собой приближения переменных х1, х2, х3 к решению, четвертый столбец – погрешности приближений, ct – число итераций, Х – вектор результата.

    Таким образом, решение системы с относительной погрешностью 10-5 и с использованием начального приближения х(0) = [1, 2, 2] методом Якоби было получено за 17 итераций.
    Содержание отчета:

    1. Титульный лист.

    2. Цель лабораторной работы.

    3. Исходные данные, указываемые в задании и необходимые для достижения поставленной цели.

    4. Расчетная часть: описание выполнения задания в среде MatLab.

    5. Выводы и анализ полученных результатов.
    Контрольные вопросы:

    1. Суть метода Якоби?

    2. В каких случаях возможно решение систем уравнений методом Якоби?

    3. С помощью, какой функции в MatLab можно вычислить определитель матрицы?

    4. С помощью, какой функции в MatLab можно ввести матрицу?

    5. Что значит решить СЛАУ?


    1   2   3   4   5   6   7   8   9   ...   14


    написать администратору сайта