Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Си] нахождения корней методом хорд


Автор: TOREN 2.6.2008, 20:24
Помогите написать функцию, которая находит корни на заданном отрезке методом хорд.
информация о методе - http://keep4u.ru/imgs/b/080602/18/186059138bc564e601.jpg , http://keep4u.ru/imgs/b/080602/94/946255314418e37573.jpg
на втором рисунке дана блоксхема.
для примера, привиду функцию нахождения корней методом половинного деления:
Код

float search (
               float a, /*Левая граница интервала*/
               float b,  /*Права граница интервала*/
               float e,  /*точность*/
               int *it   /*количество итераций*/
             )
    {
      float c;

      (*it)++;

      c = (a + b) / 2;

      if (
           (func (c) == 0)
         ||
           ((b - a) <= (2 * e))
         )
      {
        return c;
      }

      if ((func (a) *  func (c)) < 0)
      {
        return search (a, c, e, &(*it));
      }
      else
      {
        return search (c, b, e, &(*it));
      }
    }

заранее благодарен

Автор: TOREN 3.6.2008, 13:46
сама математическая функция описывается как  f(x)=-(x-0.5)^2+a*e^-b*x+a*e^-c*x
a, b, c - числа вводимые пользователем

Автор: TOREN 4.6.2008, 16:46
не актуалньо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)