Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Шаговый метод.






ЛАБОРАТОРНАЯ РАБОТА №1

Решение нелинейного уравнения с одной неизвестной. Методы отделения и уточнения корней.

Постановка задачи. Для данного нелинейного уравнения y(x)=0 с одной неизвестной величиной на промежутке [a, b] отделить корни с шагом h (Шаговым методом)и уточнить корень с точностью ε:

  • методом половинного деления
  • методом Ньютона
  • методом простой итерации

Идея метода

Название метода Выбор начального значения Итерационная формула Окончание процесса вычисления
Шаговый метод x=a y=f(x) – значение функция в точке x x1=x+h – следующее значение переменной x y1=f(x1) - значение функция в точке x1 y*y1< 0 - признак интервала изоляции x1< =b
Метод половинного деления [a, b] – интервал изоляции x=(a+b)/2 – середина интервала f(a) – значение функции в точке a f(x) – значение функции в точке x если f(a)*f(x)< 0, то выбираем [a, x] если f(a)*f(x)> 0, то выбираем [x, b] |f(x)|< ε
Метод Ньютона x0 = a или x0 = b f2(x)- вторая производная функции f(x) f(x0)*f2(x0)> 0 f1(x) – первая производная функции f(x) xi+1 = xi - f(xi)/f1(xi) |f(xi)|< ε
Метод простой итерации (1 способ) привести уравнение к виду x= φ (x) x0 = a или x0 = b |φ (a)|< 1 |φ (b)|< 1 если |φ (a)| > |φ (b)|, то x0=a если |φ (a)| < |φ (b)|, то x0=b xi+1= φ (xi) |f(xi)|< ε
Метод простой итерации (2 способ) f1(x) – первая производная функции f(x) если |f1(a)| > |f1(b)|, то x0=a если |f1(a)| < |f1(b)|, то x0=b с=1/max(|f1(a)|; |f1(b)|) xi+1 = xi – c*f(xi) |f(xi)|< ε

Шаговый метод.

Постановка задачи: шаговым методом найти интервал изоляции корня нелинейного уравнения ln(x) - 2·x + 2, 5 = 0 на интервале [1; 2], шаг h = 0, 1.

Программа на языке CИ #include < iostream.h> #include < iomanip.h> #include < math.h>   double F (double x) { return (log(x)-2*x+2.5); }   int main() { double a, b, x0, x1, h; int N;   cout< < " Vvedite a b" < < endl; cin> > a> > b; cout< < " Vvedite chislo razbien" < < endl; cin> > N;   h=(b-a)/N;   cout.precision(5); cout.setf(ios:: left);   cout< < " _____________________________________" < < endl;   cout< < setw(12)< < " x" < < setw(12)< < " F(x)" < < endl;   cout< < " _____________________________________" < < endl;   x0=a; cout< < setw(12)< < x0< < setw(12)< < F(x0)< < endl;   while(x1< =b) { x1=x0+h; cout< < setw(12)< < x1< < setw(12)< < F(x1)< < endl;   if(F(x0)*F(x1)< 0) cout< < " na interv [" < < x0< < ", " < < x1< < " ] est koren" < < endl;   x0=x1; }   return 0; }






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.