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

  • Норма времени

  • Практическое занятие №2

  • Индивидуальные задания: Задание №1.

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

  • ПЗ №2. ПЗ 2. Деления. Цель


    Скачать 398.93 Kb.
    НазваниеДеления. Цель
    АнкорПЗ №2
    Дата26.10.2021
    Размер398.93 Kb.
    Формат файлаpdf
    Имя файлаПЗ 2.pdf
    ТипРешение
    #256512

    Решение алгебраических и трансцендентных уравнений методом половинного
    деления
    .
    Цель:
    Получение практических навыков решения нелинейных уравнений методом половинного деления
    Норма времени: 2 часа
    Обеспечивающие средства: компьютеры, программа Visual Studio.
    Порядок выполнения работы
    Теоретические сведения
    Пример: Методом половинного деления найти корень уравнения: cos(2/x) – 2 * sin(1/x) + 1/x = 0 на отрезке от 1 до 2 с точностью t = 0.0001.
    Метод половинного деления предполагает, что значения функции на концах заданного отрезка имеют разные знаки, например, «-» и «+». Следовательно, где-то на этом отрезке есть хотя бы одно такое x, при котором функция равна нулю.
    Рисунок 1 – Работа метода половинного деления
    Алгоритм нахождения значения x основан на делении заданного отрезка пополам и выборе той половины отрезка, у которой функция сохраняет разные по знаку значения. Процесс повторяется до тех пор, пока не будет найдено значение, при котором функция равна нулю или пока длина отрезка не станет меньше заданной в условии задачи точности t (в этом случае мы считаем, что тоже нашли корень уравнения).
    Алгоритм включает многократное вычисление значений функции при различных значениях аргумента. Поэтому целесообразно выделить этот процесс в самостоятельный метод, например, с именем f.
    Исходный код программы: using
    System; using
    System.Collections.Generic; using
    System.Linq; using
    System.Text; namespace
    ConsoleApplication2
    { class
    Program
    { static double f(
    double a)
    { return
    (Math.Cos(2 / a) - 2 * Math.Sin(1 / a) + 1 / a); } static void
    Main()
    Практическое занятие №2

    { double a, b, x, ya, yb, t; a = 1; b = 2; t = 0.0001; ya = f(a); x = (a + b) / 2; yb = f(x); while
    (b - a > t && yb != 0)
    { if
    (ya * yb < 0)
    { b = x; x = (a + b) / 2; yb = f(x); } else
    { a = x; ya = yb; x = (a + b) / 2; yb = f(x); }
    }
    Console.WriteLine(
    "Корень уравнения = {0}"
    , x);
    Console.WriteLine(
    "Для продолжения нажмите клавишу Enter"
    );
    Console.ReadLine();
    }
    }
    }
    Индивидуальные задания:
    Задание №1. Для заданного уравнения f(x)=0 найти один из его корней методом дихотомии, с точностью 10
    -2
    Варианты заданий:
    1. ln x + x – 2 = 0;
    2. ln x + 2x
    2
    – 6 = 0;
    3. 2 ln x +2 x – 3 = 0;
    4. ln x – x
    2
    + 5 = 0;
    5. 2 ln
    2
    x + 2x
    2
    – 5 = 0;
    6. sin x + x – 2 = 0;
    7. sin x + 2x
    2
    – 3 = 0;
    8. 3 sin x + x – 2 = 0;
    9. cos x + 2x – 3 = 0;
    10. cos x + x – 2 = 0;
    11. cos x +3 x – 6 = 0;
    12. 3 sin x + x
    2
    – 1 = 0;
    13. 3 sin x – x + 3 = 0.
    Задание №2.
    Разработать программу, включающую отделение корня и уточнение корня методом половинного деления. Точность взять равной 10
    -6
    . Программу разработать в среде Visual Studio. Для реализации выбирать задание своего варианта.
    Контрольные вопросы:
    1. Что такое отделение корня, опишите алгоритм выполнения отделения корня?
    2. Как выполняется уточнение корня?
    3. Опишите метод деления отрезка пополам.


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