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

  • Задача 2

  • Задание 6. МАКСИМАЛЬНОЕ ПО МОДУЛЮ СОБСТВЕННОЕ ЧИСЛО

  • [q,w]=eig(a);

  • Задание 7. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ

  • ЗНАКОМСТВО С MATLAB Арифметика в MATLAB

  • >> 5*5+12^2 и нажав клавишу Enter, получим ans= 169

  • >> 8*(1/(5-3)-1/(5+3)) ans= 3

  • >> sqrt(5^2+12^2) и >> exp(log(1.7))

  • задания к лабораторным. Практикум по численным методам и положение о вычислительной практике Для студентов специальностей Статистика иМатематические методы в экономике


    Скачать 0.59 Mb.
    НазваниеПрактикум по численным методам и положение о вычислительной практике Для студентов специальностей Статистика иМатематические методы в экономике
    Дата18.01.2021
    Размер0.59 Mb.
    Формат файлаpdf
    Имя файлазадания к лабораторным.pdf
    ТипПрактикум
    #169338
    страница4 из 5
    1   2   3   4   5
    Пример решения задачи
    Решить систему нелинейных уравнений методом простой итерации. sin(
    0,6)
    1,6;
    3
    cos
    0,9.
    x
    y
    x
    y

    − =

    ⎨ −
    =

    Отделение корней производим графически. Графики построим с помощью стандартных функций MATLAB.

    27
    Из графика видим, что система имеет одно решение, заключенное в области
    : 0 0,3;
    2, 2 1,8
    D
    x
    y
    < <

    < < −
    Убедимся в том, что метод итераций применим для уточнения решения сис- темы, для чего запишем ее в следующем виде:
    1 2
    1
    ( , )
    cos
    0,3;
    3
    ( , ) sin(
    0,6) 1,6.
    x
    x y
    y
    y
    x y
    x
    ϕ
    ϕ
    ⎧ =
    =
    +


    ⎪ =
    =



    Так как
    1 0
    x
    ϕ

    =

    ,
    2
    cos(
    0,6)
    x
    x
    ϕ

    =


    ,
    1 1
    sin
    3
    y
    y
    ϕ

    = −

    ,
    2 0
    y
    ϕ

    =

    , то в области
    D
    имеем
    1 2
    cos(
    0,6)
    cos 0,3 0, 2955 1
    x
    x
    x
    ϕ
    ϕ


    +
    =


    =
    <


    1 2
    1 1
    sin sin( 1,8) 1 3
    3
    y
    y
    y
    ϕ
    ϕ


    +
    = −


    <


    Таким образом, условия сходимости выполняются. Вычисления производим по формулам
    1 1
    1
    cos
    0,3;
    3
    sin(
    0,6) 1,6.
    n
    n
    n
    n
    x
    y
    y
    x
    +
    +

    =
    +



    =



    За начальное приближение примем
    0 0,15
    x
    =
    ,
    0 2
    y
    = −

    28
    Имеем
    2 2
    ( , ) sin(2
    ) 1, 2 0, 4;
    ( , ) 0,8 1,5 1.
    F x y
    x y
    x
    G x y
    x
    y
    =





    =
    +


    Составим таблицу:
    n
    n
    x
    n
    y
    0,6
    n
    x

    sin(
    0,6)
    n
    x

    cos( )
    n
    y
    1
    cos( )
    3
    n
    y
    0 0,15 –2 –0,45
    –0,4350 –0,4161 –0,1384 1 0,1616
    –2,035
    –0,4384
    –0,4245 –0,4477 –0,1492 2 0,1508
    –2,0245
    –0,4492
    –0,4342 –0,4382 –0,1461 3 0,1539
    –2,0342
    –0,4461
    –0,4313 –0,4470 –0,1490 4 0,1510
    –2,0313
    –0,4490
    –0,4341 –0,4444 –0,1481 5 0,1519
    –2,0341
    –0,4481
    –0,4333 –0,4469 –0,1490 6 0,1510
    –2,0333
    –0,4490
    –0,4341 –0,4462 –0,1487 7 0,1513
    –2,0341
    –0,4487
    –0,4340 –0,4469 –0,1490 8
    0,1510
    –2,0340
    Ответ:
    0,151
    x

    ,
    2,034
    y
    ≈ −
    Задача 2
    Составить и отладить подпрограмму для решения системы нелинейных уравнений методом Ньютона.
    Варианты
    1.
    2 2
    2
    tg(
    0.4)
    ;
    0,6 2
    1,
    0,
    0.
    xy
    x
    x
    y
    x
    y

    +
    =


    +
    =
    >
    >
    ⎪⎩
    2.
    2 2
    sin(
    ) 1,6 0;
    1,
    0,
    0.
    x y
    x
    x
    y
    x
    y
    +

    =


    +
    =
    >
    >

    3.
    2 2
    2
    tg(
    0,1)
    ;
    2 1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    4.
    2 2
    sin(
    ) 1, 2 0, 2;
    1.
    x y
    x
    x
    y
    +

    =


    +
    =

    5.
    2 2
    2
    tg(
    0,3)
    ;
    0,9 2
    1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    6.
    2 2
    sin(
    ) 1,3 0;
    1.
    x y
    x
    x
    y
    +

    =


    +
    =

    7.
    2 2
    2
    tg
    ;
    0,7 2
    1.
    xy x
    x
    y

    =


    +
    =
    ⎪⎩
    8.
    2 2
    sin(
    ) 1,5 0,1;
    1.
    x y
    x
    x
    y
    +

    =


    +
    =

    9.
    2 2
    2
    tg
    ;
    0,8 2
    1.
    xy x
    x
    y

    =


    +
    =
    ⎪⎩
    10.
    2 2
    sin(
    ) 1, 2 0,1;
    1.
    x y
    x
    x
    y
    +

    =


    +
    =

    11.
    2 2
    2
    tg(
    0, 2)
    ;
    0,6 2
    1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    12.
    2 2
    sin(
    ) 1,5 0,1;
    1.
    x y
    x
    x
    y
    +
    =



    +
    =

    13.
    2 2
    2
    tg(
    0, 4)
    ;
    0,8 2
    1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    14.
    2 2
    sin(
    ) 1, 2 0,1;
    1.
    x y
    x
    x
    y
    +
    =



    +
    =

    15.
    2 2
    2
    tg(
    0,1)
    ;
    0,9 2
    1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    16.
    2 2
    sin(
    ) 1, 4 0;
    1.
    x y
    x
    x
    y
    +

    =


    +
    =

    17.
    2 2
    2
    tg(
    0,1)
    ;
    0,5 2
    1.
    xy
    x
    x
    y

    +
    =


    +
    =
    ⎪⎩
    18.
    2 2
    sin(
    ) 1,1 0,1;
    1.
    x y
    x
    x
    y
    +
    =



    +
    =

    19.
    2 2
    tg(
    )
    1;
    2 1.
    x y
    xy
    x
    y


    = −


    +
    =

    20.
    2 2
    sin(
    )
    1;
    3 4
    x y
    xy
    x
    y


    = −




    =
    ⎪⎩

    29
    Ход решения
    1. Отделить корни посредством построения графиков. Для этого нужно вы- разить заданные функции в виде
    ( )
    y x
    и построить их с помощью встроенных функций MATLAB.
    2. Вычислить частные производные и составить матрицу Якоби.
    3. С помощью приведенной в лекциях схемы алгоритма составить функ- цию для нахождения корней. Составить вызывающую программу, обращающую- ся к функции столько раз, сколько корней имеет система уравнений. Входными параметрами в функцию являются начальные приближения и вектор p=(x,y), являющийся нулевым при входе в подпрограмму.
    4. Оформить в отчет текст программы, составленной функции, привести исходные данные, построенный график и полученный ответ.

    30
    Задание 6. МАКСИМАЛЬНОЕ ПО МОДУЛЮ
    СОБСТВЕННОЕ ЧИСЛО
    Составить и отладить подпрограмму для нахождения максимального по мо- дулю собственного числа матрицы, описанным в лекциях итерационным процес- сом.
    Ход решения
    1. Составить согласно приведенному в лекциях алгоритму подпрограмму.
    2. Ввести матрицу, соответствующую варианту, в программу и вызвать для нее выполнение подпрограммы.
    3. С помощью функции [q,w]=eig(a); где q – вектор собственных чи- сел, w – матрица, каждая строка которой – собственный вектор, a – исходная мат- рица.
    4. Сделать выводы.
    Варианты
    1.
    1,7 2,8 0,3 2,8 1, 2 0,6 0,3 0,6 1,5
    A




    = ⎜





    2.
    1,7 0, 4 2,8 0, 4 3, 2 1, 2 2,8 1, 2 0,5
    A




    = ⎜





    3.
    2,3 1, 4 0,6 1, 4 1,7 0,5 0,6 0,5 1,3
    A




    = ⎜





    4.
    2,3 3,5 1, 4 3,5 0, 4 0,6 1, 4 0,6 1,3
    A




    = ⎜





    5.
    0,6 1,3 1,7 1,3 2,5 0,8 1,7 0,8 1, 4
    A




    = ⎜





    6.
    3,7 0,3 1, 2 0,3 2, 4 0,8 1, 2 0,8 1,5
    A




    = ⎜





    7.
    3, 2 0,5 1, 2 0,5 1, 4 2,3 1, 2 2,3 0,6
    A




    = ⎜





    8.
    4,1 0, 4 1,3 0, 4 1, 2 1,7 1,3 1,7 0,5
    A




    = ⎜





    9.
    2,3 0,7 0,6 0,7 3, 4 1, 2 0,6 1, 2 1,7
    A




    = ⎜





    10.
    1,5 0,8 2,9 0,8 3, 4 2, 2 2,9 2, 2 0, 4
    A




    = ⎜





    11.
    1,8 2, 4 0,5 2, 4 1,3 0,7 0,5 0,7 1,6
    A




    = ⎜





    12.
    0,7 1,5 3, 2 1,5 2,3 1,3 3, 2 1,3 0, 4
    A




    = ⎜





    13.
    2, 4 3,5 0,7 3,5 1, 2 0, 4 0,7 0, 4 1,3
    A




    = ⎜





    14.
    2,3 1,7 0,8 1,7 0,5 1, 2 0,8 1, 2 1,9
    A




    = ⎜





    15.
    2, 4 1,3 0,5 1,3 0,8 2, 4 0,5 2, 4 3,3
    A




    = ⎜





    16.
    1,5 2,3 0, 4 2,3 1, 4 2,5 0, 4 2,5 0,8
    A




    = ⎜





    17.
    3, 4 1,3 2,3 1,3 0,6 1, 2 2,3 1, 2 0,5
    A




    = ⎜





    18.
    2,5 1, 2 0,8 1, 2 3, 4 0,5 0,8 0,5 1, 2
    A




    = ⎜





    19.
    2,6 1, 4 0,7 1, 4 0,9 1,5 0,7 1,5 0,3
    A




    = ⎜





    20.
    3,6 0,5 1, 2 0,5 0,8 2,3 1, 2 2,3 1,6
    A




    = ⎜






    31
    Задание 7. РЕШЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ
    УРАВНЕНИЙ
    Используя метод Эйлера, составить таблицу приближенных значений инте- грала дифференциального уравнения
    ( , )
    y
    f x y
    ′ =
    , удовлетворяющего начальным условиям
    0 0
    ( )
    y x
    y
    =
    на отрезке
    [ , ]
    a b
    ; шаг
    0,1
    h
    =
    . Все вычисления вести с четырьмя десятичными знаками. Решить данную задачу с помощью Matlab, составив про- грамму для нахождения решения с помощью метода Рунге-Кутта.
    Ход решения
    1. Решить уравнение методом Эйлера.
    2. Составить программу для решения дифференциального уравнения. Ре- шение записать в виде таблицы с шагом
    h
    3. Вывести график решения, соответствующий полученной таблице.
    Варианты
    1.
    [
    ]
    0
    cos
    ,
    (1,8) 2,6,
    1,8; 2,8 .
    5
    y
    y
    x
    y
    x
    ′ = +
    =

    2.
    [
    ]
    0
    cos ,
    (1,6) 4,6,
    1,6;2,6 .
    3
    y
    y
    x
    y
    x
    ′ = +
    =

    3.
    [
    ]
    0
    cos
    ,
    (0,6) 0,8,
    0,6;1,6 .
    10
    y
    y
    x
    y
    x
    ′ = +
    =

    4.
    [
    ]
    0
    cos
    ,
    (0,5) 0,6,
    0,5;1,5 .
    7
    y
    y
    x
    y
    x
    ′ = +
    =

    5.
    [
    ]
    0
    cos ,
    (1,7) 5,3,
    1,7; 2,7 .
    y
    y
    x
    y
    x
    π
    ′ = +
    =

    6.
    [
    ]
    0
    cos
    , (1, 4) 2,5,
    1, 4; 2, 4 .
    2, 25
    y
    y
    x
    y
    x
    ′ = +
    =

    7.
    [
    ]
    0
    cos ,
    (1, 4) 2,5,
    1, 4; 2, 4 .
    y
    y
    x
    y
    x
    e
    ′ = +
    =

    8.
    [
    ]
    0
    cos
    ,
    (0,8) 1, 4,
    0,8;1,8 .
    2
    y
    y
    x
    y
    x
    ′ = +
    =

    9.
    [
    ]
    0
    cos
    ,
    (1, 2) 2,1,
    1, 2; 2, 2 .
    3
    y
    y
    x
    y
    x
    ′ = +
    =

    10.
    [
    ]
    0
    cos
    ,
    (2,1) 2,5,
    2,1;3,1 .
    11
    y
    y
    x
    y
    x
    ′ = +
    =

    11.
    [
    ]
    0
    sin
    ,
    (1,8) 2,6,
    1,8; 2,8 .
    5
    y
    y
    x
    y
    x
    ′ = +
    =

    12.
    [
    ]
    0
    sin ,
    (1,6) 4,6,
    1,6;2,6 .
    3
    y
    y
    x
    y
    x
    ′ = +
    =


    32 13.
    [
    ]
    0
    sin
    ,
    (0,6) 0,8,
    0,6;1,6 .
    10
    y
    y
    x
    y
    x
    ′ = +
    =

    14.
    [
    ]
    0
    sin
    ,
    (0,5) 0,6,
    0,5;1,5 .
    7
    y
    y
    x
    y
    x
    ′ = +
    =

    15.
    [
    ]
    0
    sin ,
    (1,7) 5,3,
    1,7;2,7 .
    y
    y
    x
    y
    x
    π
    ′ = +
    =

    16.
    [
    ]
    0
    sin
    ,
    (1, 4) 2, 2,
    1, 4; 2, 4 .
    2,8
    y
    y
    x
    y
    x
    ′ = +
    =

    17.
    [
    ]
    0
    sin ,
    (1, 4) 2,5,
    1, 4; 2, 4 .
    y
    y
    x
    y
    x
    e
    ′ = +
    =

    18.
    [
    ]
    0
    sin
    ,
    (0,8) 1,3,
    0,8;1,8 .
    2
    y
    y
    x
    y
    x
    ′ = +
    =

    19.
    [
    ]
    0
    sin
    ,
    (1,1) 1,5,
    1,1; 2,1 .
    3
    y
    y
    x
    y
    x
    ′ = +
    =

    20.
    [
    ]
    0
    sin
    ,
    (0,6) 1, 2,
    0,6;1,6 .
    11
    y
    y
    x
    y
    x
    ′ = +
    =

    Пример решения задачи
    Решим уравнение sin
    2, 25
    y
    y
    x
    ′ = +
    с начальными условиями
    0
    (1, 4) 2, 2
    y
    =
    на от- резке
    [1, 4; 2,5]
    x

    Метод Эйлера с уточнением заключается в том, что каждое значение
    1 1
    (
    )
    k
    k
    y
    y x
    +
    +
    =
    , где
    ( )
    y x
    – искомая функция, а
    1 0
    (
    1)
    k
    x
    x
    h k
    +
    =
    +
    +
    ,
    0,1, 2...
    k
    =
    , определяется следующим образом. За начальное приближение принимаем
    (0)
    1
    ( , )
    k
    k
    k
    k
    y
    y
    hf x y
    +
    =
    +
    , где
    ( , )
    ( , )
    f x y
    y x y

    =
    Найденное значение
    (0)
    1
    k
    y
    +
    уточняем по формуле
    ( )
    ( 1)
    1 1
    1
    ( , )
    (
    ,
    )
    2
    i
    i
    k
    k
    k
    k
    k
    k
    h
    y
    y
    f x y
    f x
    y

    +
    +
    +


    =
    +
    +


    (
    1, 2,...
    i
    =
    ).
    Уточнение продолжают до тех пор, пока в пределах требуемой погрешности два последовательных приближения не совпадут.
    Все вычисления удобно проводить, составив следующие таблицы:
    • основную таблицу, в которой записывается ответ;
    • таблицу, в которой выполняется процесс последовательных приближе- ний;
    • вспомогательную таблицу, в которой вычисляются значения функции
    ( , )
    k
    k
    f x y

    33
    k
    k
    x
    k
    y
    ( , )
    k
    k
    k
    f
    f x y
    =
    k
    hf
    0 1,4 2,2 2,229257493 0,22292575 1
    1,5 2,42292575 2,380471541 0,23804715 2
    1,6 2,6609729 2,525613965 0,2525614 3
    1,7 2,9135343 2,662182542 0,26621825 4
    1,8 3,17975255 2,787611046 0,2787611 5
    1,9 3,45851366 2,899432911 0,28994329 6
    2 3,74845695 2,995473371 0,29954734 7
    2,1 4,04800429 3,074048772 0,30740488 8
    2,2 4,35540916 3,134144791 0,31341448 9
    2,3 4,66882364 3,175543653 0,31755437 10 2,4 4,98637801 3,19887626 0,31988763 1
    k
    +
    1
    k
    x
    +
    k
    y
    ( )
    1
    i
    k
    y
    +
    k
    f
    ( )
    1
    i
    k
    f
    +
    ( )
    1
    i
    k
    k
    f
    f
    +
    +
    (
    )
    ( )
    1 2
    i
    k
    k
    h
    f
    f
    +
    +
    1 1,5 2,2 2,422925749 2,22925749 2,38047154 4,60972903 0,230486 2
    1,6 2,422 2,660972903 2,38047154 2,52561397 4,90608551 0,245304 3
    1,7 2,661 2,9135343 2,52561397 2,66218254 5,18779651 0,259389 4
    1,8 2,914 3,179752554 2,66218254 2,78761105 5,44979359 0,272489 5
    1,9 3,180 3,458513659 2,78761105 2,89943291 5,68704396 0,284352 6
    2 3,459 3,74845695 2,89943291 2,99547337 5,89490628 0,294745 7
    2,1 3,748 4,048004287 2,99547337 3,07404877 6,06952214 0,303476 8
    2,2 4,048 4,355409164 3,07404877 3,13414479 6,20819356 0,310409 9
    2,3 4,355 4,668823643 3,13414479 3,17554365 6,30968844 0,315484 10 2,4 4,669 4,986378009 3,17554365 3,19887626 6,37441991 0,318721
    k
    x
    y
    2, 25
    y
    sin
    2, 25
    y
    sin
    2, 25
    y
    y
    x
    ′ = +
    0 1,4 2,2 0,977777778 0,82925749 2,22925749 1
    1,5 2,42292575 1,076855889 0,88047154 2,38047154 2
    1,6 2,6609729 1,182654624 0,92561397 2,52561397

    34 3
    1,7 2,9135343 1,294904133 0,96218254 2,66218254 4
    1,8 3,17975255 1,413223357 0,98761105 2,78761105 5
    1,9 3,45851366 1,537117182 0,99943291 2,89943291 6
    2 3,74845695 1,665980867 0,99547337 2,99547337 7
    2,1 4,04800429 1,799113016 0,97404877 3,07404877 8
    2,2 4,35540916 1,935737406 0,93414479 3,13414479 9
    2,3 4,66882364 2,07503273 0,87554365 3,17554365 10 2,4 4,98637801 2,216168004 0,79887626 3,19887626
    Ответом являются значения
    ( )
    k
    y x
    , полученные в первой таблице.

    35
    ЗНАКОМСТВО С MATLAB
    Арифметика в MATLAB
    В MATLAB есть основные арифметические операции: «+» (сложение), «–»
    (вычитание), «*» (умножение) и «/» (деление). Степень обозначается через «^», так что, набрав в командно строке
    >> 5*5+12^2
    и нажав клавишу Enter, получим
    ans=
    169
    При нажатии Enter после набора строки, она отправляется на выполнение.
    Законы старшинства операций встроены, но в сомнительных случаях рекоменду- ется пользоваться круглыми скобками. Например, для строки
    >> 8*(1/(5-3)-1/(5+3))
    ans=
    3
    Также реализованы элементарные функции, известные по работе с кальку- лятором. Например,
    >> sqrt(5^2+12^2)
    и
    >> exp(log(1.7))
    Для числа
    π
    MATLAB имеет встроенное значение
    3,1415926...
    π
    =
    Для этого нужно набрать pi.
    1   2   3   4   5


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