Студопедия — Метод хорд
Студопедия Главная Случайная страница Обратная связь

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

Метод хорд






Метод хорд [7] заключается в замене кривой y = f (x) отрезком прямой, проходящей через точки (a, f (a)) и (b, f (b)) (см. рис. 2.6). Абсцисса точки пересечения прямой с осью OX принимается за очередное приближение.

Чтобы получить расчетную формулу метода хорд, запишем уравнение прямой, проходящей через точки (a, f (a)) и (b, f (b)) и, приравнивая y нулю, найдем x:

.

 


Рис.2.6. Метод хорд

 

Алгоритм метода хорд:

1) Пусть k = 0;

2) Вычислим следующий номер итерации: k = k + 1; Найдем очередное k -ое приближение по формуле: xk = a – f (a)(ba)/(f (b) – f (a)); Вычислим f (xk).

3) Если f (xk)= 0 (корень найден), то переходим к 5).

Если f (xk) f (b) > 0, то b = xk, иначе a = xk.

4) Если | xkxk -1| > ε, то переходим к шагу 2);

5) Выводим значение корня xk.

6) Конец.

 

Замечание. Действия третьего пункта аналогичны действиям метода половинного деления. Однако в методе хорд на каждом шаге может сдвигаться один и тот же конец отрезка (правый или левый), если график функции в окрестности корня выпуклый вверх (рис. 2.6, a)) или вогнутый вниз (рис. 2.6, b)). Поэтому в критерии сходимости используется разность соседних приближений.

Пример 2.6. Применим метод хорд к уравнению sin 5 x + x 2 – 1 = 0 и отрезку [0,2; 0,3] для определения корня с точностью до ε = 0,001.

Решение. Проведем расчеты в программе Excel:

1) В ячейки A1:H1 запишем заголовки столбцов как в табл. 2.6;

2) В ячейку B3 запишем формулу =ЕСЛИ(C2*E2<0;B2;D2) и затем ячейку B3 протянем маркером заполнения до ячейки B10;

3) В ячейку C2 запишем формулу =SIN(5*B2)+B2^2-1 и затем ячейку C2 протянем маркером заполнения до ячейки C10;

4) В ячейку D2 запишем формулу =B2-C2*(F2-B2)/(G2-C2) и затем ячейку D2 протянем маркером заполнения до ячейки D10;

5) В ячейку E2 запишем формулу =SIN(5*D2)+D2^2-1 и затем ячейку E2 протянем маркером заполнения до ячейки E10;

6) В ячейку F3 запишем формулу =ЕСЛИ(C2*E2<0;D2;F2) и затем ячейку F3 протянем маркером заполнения до ячейки F10;

7) В ячейку G2 запишем формулу =SIN(5*F2)+F2^2-1 и затем ячейку G2 протянем маркером заполнения до ячейки G10;

8) В ячейку H2 запишем формулу =ABS(F2-B2) и затем ячейку H2 протянем маркером заполнения до ячейки H10;

В таблице 2.8 приведены результаты. Необходимая точность достигается на шаге k = 4.

Таблица 2.8

  A B C D E F G H
  k a f(a) x f(x) b f(b) |b-a|
    0,2 -0,11853 0,25753165 0,026506 0,3 0,0874949 0,1
    0,2 -0,11853 0,24701739 0,005194 0,25753165 0,026506 0,01051
    0,2 -0,11853 0,24504339 0,000926 0,24701739 0,0051944 0,00197
    0,2 -0,11853 0,24469436 0,000162 0,2450434 0,0009256 0,00035

 

Решение в программе Mathcad:

 

 

Как видим, результаты расчетов согласуются с предыдущими ответами.

Приведем программу, которая реализует метод хорд на языке C ++:

 

#include <iostream.h>

#include <math.h>

double f(double x);

typedef double (*PF)(double);

double hord(PF f,double a, double b,double eps, int Kmax);

int main(){

double a, b, x, eps;PF pf; int Kmax;

cout << "\n a = "; cin >> a;

cout << "\n b = "; cin >> b;

cout << "\n eps = "; cin >> eps;

cout << "\n Kmax = "; cin >> Kmax;

pf = f;

x = hord(pf,a,b,eps, Kmax); cout << "\n x = " << x;

cout << "\n Press any key & Enter "; cin >> a;

return 0;

}

double f(double x){

double r;

r = sin(5*x)+x*x-1;

return r;

}

double hord(PF f, double a, double b,double eps,int Kmax){

double xk, xk1, xerr; int k = 0;

xk = a;

do{ k = k + 1; if(k > Kmax)break;

xk1 = a - f(a)*(b - a)/(f(b) - f(a));

if (f(xk1) == 0) break;

xerr = fabs(xk1 - xk); xk = xk1;

if (f(xk1)*f(b) > 0) b = xk1;

else a = xk1;

}while (xerr > eps);

return xk1;

}

 

Результат расчета для примера 2.6:

a = 0.2

b = 0.3

eps = 0.0001

Kmax = 100

x = 0.244633

Press any key & Enter

 

Как видим, результат совпадает с предыдущими расчетами.







Дата добавления: 2015-04-16; просмотров: 673. Нарушение авторских прав; Мы поможем в написании вашей работы!



Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

ОПРЕДЕЛЕНИЕ ЦЕНТРА ТЯЖЕСТИ ПЛОСКОЙ ФИГУРЫ Сила, с которой тело притягивается к Земле, называется силой тяжести...

СПИД: морально-этические проблемы Среди тысяч заболеваний совершенно особое, даже исключительное, место занимает ВИЧ-инфекция...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Измерение следующих дефектов: ползун, выщербина, неравномерный прокат, равномерный прокат, кольцевая выработка, откол обода колеса, тонкий гребень, протёртость средней части оси Величину проката определяют с помощью вертикального движка 2 сухаря 3 шаблона 1 по кругу катания...

Studopedia.info - Студопедия - 2014-2024 год . (0.013 сек.) русская версия | украинская версия