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

  • Варианты заданий

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

  • Пример решения СЛАУ методом прогонки в 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
    страница5 из 14
    1   2   3   4   5   6   7   8   9   ...   14

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

    «Метод прогонки для трехдиагональных систем»



    Цель: научиться вычислять корни систем линейных алгебраических уравнений различными методами.
    Задание:Решить систему линейных алгебраических уравнений с помощью метода прогонки. И определить невязку и сделать анализ точности вычислений.

    Варианты заданий:

    № варианта

    Матрица системы

    Правая часть

    1

    0.401

    -0.029

    0.000

    0.000

    0.301

    -0.500

    -0.050

    0.000

    0.000

    -0.018

    -1.400

    -0.007

    0.000

    0.000

    -0.039

    -2.300

    0.122

    -0.253

    -0.988

    -2.082

    2

    -1.700

    0.002

    0.000

    0.000

    0.003

    0.800

    -0.002

    0.000

    0.000

    0.001

    -0.100

    -0.003

    0.000

    0.000

    0.030

    -1.600

    0.681

    0.480

    -0.802

    -1.007

    3

    -3.000

    -0.011

    0.000

    0.000

    0.001

    2.100

    0.005

    0.000

    0.000

    0.5200

    1.200

    -0.010

    0.000

    0.000

    0.600

    -0.300

    1.514

    1.478

    1.083

    -1.007

    4

    4.300

    0.100

    0.000

    0.000

    0.217

    -3.400

    0.090

    0.000

    0.000

    -0.207

    2.500

    0.080

    0.000

    0.000

    0.197

    -1.600

    2.663

    2.778

    2.533

    1.928

    5

    -5.600

    0.147

    0.000

    0.000

    0.268

    4.700

    -0.150

    0.000

    0.000

    0.271

    -3.800

    0.153

    0.000

    0.000

    0.274

    2.900

    4.032

    4.313

    4.235

    3.797

    6

    6.900

    0.191

    0.000

    0.000

    0.319

    -6.000

    -0.205

    0.000

    0.000

    -4.040

    5.100

    0.020

    0.000

    0.000

    0.000

    4.200

    5.664

    6.112

    6.201

    5.937

    № варианта

    Матрица системы

    Правая часть

    7

    -8.200

    0.234

    0.000

    0.000

    0.370

    7.300

    0.260

    0.000

    0.000

    5.600

    -0.340

    0.268

    0.000

    0.000

    -0.422

    5.500

    7.559

    8.175

    8.421

    8.322

    8

    9.500

    0.278

    0.000

    0.000

    0.422

    8.601

    0.315

    0.000

    0.000

    0.459

    7.700

    0.351

    0.000

    0.000

    0.496

    6.803

    9.719

    10.500

    10.915

    10.978

    9

    10.800

    0.321

    0.000

    0.000

    -0.5760

    9.900

    0.369

    0.000

    0.000

    7.300

    9.000

    0.416

    0.000

    0.000

    -6.060

    8.100

    12.143

    13.089

    13.674

    13.897

    10

    -1.100

    0.365

    0.000

    0.000

    0.528

    0.113

    -0.423

    0.000

    0.000

    0.536

    1.031

    0.481

    0.000

    0.000

    0.534

    -0.570

    14.830

    15.941

    16.969

    17.081

    11

    13.400

    -0.408

    0.000

    0.000

    0.581

    12.500

    0.477

    0.000

    0.000

    -0.650

    -11.600

    0.546

    0.000

    0.000

    0.781

    10.700

    17.782

    19.593

    19.974

    20.528

    12

    30.300

    0.975

    0.000

    0.000

    0.153

    -29.400

    0.117

    0.000

    0.000

    0.011

    -2.500

    10.700

    0.000

    0.000

    1.660

    27.600

    80.168

    83.578

    86.609

    89.278

    13

    0.161

    0.109

    0.000

    0.000

    0.332

    -0.301

    -0.060

    0.000

    0.000

    -0.150

    0.171

    0.145

    0.000

    0.000

    0.051

    -0.298

    86.814

    90.358

    19.861

    93.502

    14

    -22.500

    0.714

    0.000

    0.000

    -0.956

    21.600

    0.855

    0.000

    0.000

    0.109

    20.714

    -0.996

    0.000

    0.000

    0.124

    19.800

    45.802

    48.261

    50.343

    52.453



    № варианта

    Матрица системы

    Правая часть

    15

    26.400

    0.840

    0.000

    0.000

    0.117

    -25.513

    0.105

    0.000

    0.000

    0.198

    24.600

    0.000

    0.000

    0.000

    -8.810

    2.451

    61.853

    64.730

    63.880

    59.376


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

    Метод прогонки является одним из эффективных методов решения СЛАУ с трех - диагональными матрицами, возникающих при конечно-разностной аппроксимации задач для обыкновенных дифференциальных уравнений (ОДУ) и уравнений в частных производных второго порядка и является частным случаем метода Гаусса. Рассмотрим следующую СЛАУ:

    решение, которое будем искать в виде:



    Где - прогоночные коэффициенты, подлежащие определению.

    , ;
    Пример решения СЛАУ методом прогонки в MatLab :


    Решение:

    Найти коэффициенты прогонки

    ,


    1. Прямая прогонка

    A=[1,1,0,0,0;-1,1,-1,0,0;0,2,-2,1,0;0,0,1,-2,1;0,0,0,2,2]

    A =

    1 1 0 0 0

    -1 1 -1 0 0

    0 2 -2 1 0

    0 0 1 -2 1

    0 0 0 2 2

    >> B=[0;-3;-4;2;2]

    B =

    0

    -3

    -4

    2

    2

    >> %обозначим коэффициенты прогонки δ=d, λ=n

    >> d1=-A(1,2)/A(1,1)

    d1 = -1

    >> n1=B(1,1)/A(1,1)

    n1 = 0

    >>d2=-A(2,3)/(A(2,2)+A(2,1)*d1)

    d2 = 0.5000

    >> n2=(B(2,1)-A(2,1)*n1)/(A(2,2)+A(2,1)*d1)

    n2 = -1.5000

    >> d3=-A(3,4)/(A(3,3)+A(3,2)*d2)

    d3 = 1

    >> n3=(B(3,1)-A(3,2)*n2)/(A(3,3)+A(3,2)*d2)

    n3 = 1

    >> d4=-A(4,5)/(A(4,4)+A(4,3)*d3)

    d4 = 1

    >> n4=(B(4,1)-A(4,3)*n3)/(A(4,4)+A(4,3)*d3)

    n4 = -1

    >> n5=(B(5,1)-A(5,4)*n4)/(A(5,5)+A(5,4)*d4)

    n5 = 1

    1. Получаем обратную прогонку

    Х5= λ5= n5=1

    Х4=δ4*Х5+ λ4= d4*Х5+ n4= 0

    Х3=δ3*Х4+ λ3= d3*Х4+ n3= 1

    Х2=δ2*Х3+ λ2= d2*Х3+ n2=-1

    Х1=δ1*Х2+ λ1= d1*Х2+ n1=1


    1. Определим невязку

    >> A=[1,1,0,0,0;-1,1,-1,0,0;0,2,-2,1,0;0,0,1,-2,1;0,0,0,2,2]

    >> B=[0;-3;-4;2;2]

    >> X=[1;-1;1;0;1]

    >> R=B-A*X

    R =

    0

    0

    0

    0

    0

    Невязка равна нулю (т.к округлений вовремя вычислений не было) => найдено точное решение.

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

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

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

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

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

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

    1. Суть метода прогонки.

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

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

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

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

    6. Какие матрицы называются трехдиагональными?



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


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