Перейти к содержимому

Здравствуйте, гость ( Вход | Регистрация )



  • Авторизуйтесь для ответа в теме
помогите по информатике Сообщений в теме: 45

#41
Отправлено 02 Ноябрь 2005 - 21:33

Key_S

    Проректор

  • Пользователи
  • PipPipPipPipPip
  • 2 743 сообщений

Ну да, а реккурентыне соотношения это соотношения используюшие рекурсию

<{POST_SNAPBACK}>

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

#42
Отправлено 02 Ноябрь 2005 - 22:08

Sharkus

    Аспирант

  • Пользователи
  • PipPipPip
  • 633 сообщений
  • Район:Тропарево-никулино
Приведи пожалуйста пример рекуррентного соотношения не использующего рекурсию.

#43
Отправлено 02 Ноябрь 2005 - 22:38

Key_S

    Проректор

  • Пользователи
  • PipPipPipPipPip
  • 2 743 сообщений

Приведи пожалуйста пример рекуррентного соотношения не использующего рекурсию.

А что фантазии уже не хватает??
Ну, что нашел из своих старых программ... Пример расчета определенного интеграла Sin (x) методом прямоугольников..
a - нижний предел интеграла
b- верхний предел интеграла
eps - заданная точность
Funkc - функция, для которой надо посчитать интеграл (в данном случае синус)
integ_pryam - функция расчета интеграла...
h - шаг разбиения (для нахождения интеграла для данной точности
В данном случае эта функция будет рекурентной. Т.к. подставив любую функцию в Funkc, которое имеет значение определенного интеграла на данном промежутке, вы всегда сможете получить значение этого интеграла.. А если вы помните, то интеграл, это не что инное как сумма некоторой последовательности...

double Funkc (double x)
{
return (sin(x));
}

double integ_pryam (double a, double b, double eps)
{
double integ;
double integ2;
double summa = 0;
double h;
double x;
int n = 1;
h = (b - a) / n;
for (int i = 0; i < n; i++)
{
  x = a + h*i;
  summa += Funkc (x + h/2);
}
integ = h * summa;
summa = 0;
n *= 2;
h = (b - a) / n;
for (i = 0; i < n; i++)
{
  x = a + h*i;
  summa += Funkc (x + h/2);
}
integ2 = h * summa;
while (fabs (integ2 - integ) > eps)
{
  integ = integ2;
  summa = 0;
  n *= 2;
  h = (b - a) / n;

  for (i = 0; i < n; i++)
  {
   x = a + h*i;
   summa += Funkc (x + h/2);
  }
  integ2 = h * summa;
}
return integ2;
}

Как ты можешь заметить никакой рекурсии здесь нет...
Не путайте рекурентный функции и рекурсивные функции...

#44
Отправлено 02 Ноябрь 2005 - 23:13

Sharkus

    Аспирант

  • Пользователи
  • PipPipPip
  • 633 сообщений
  • Район:Тропарево-никулино
reccurent = повторяющийся. ИМО всё же рекуррентное соотношение - соотношение вида An=F(An-1)

#45
Отправлено 03 Ноябрь 2005 - 00:57

Oldwin

    Профессор

  • Пользователи
  • PipPipPipPip
  • 1 017 сообщений
Мальчики. не ссорьтись :) Лучше подскажите как вторую лаюу делать. А именно как вообще уравнение привести к рекуррентному соотношению? Вот это например. ((-1)^(n+1)) * ((x^(4n-3)) * (4n-x)) / (4n)! Вообще ничего не понимаю :) Вы только в правильную сторуну толкните, а дальше я сам :)

#46
Отправлено 07 Ноябрь 2005 - 23:41

ra-pp

    Абитуриент

  • Пользователи
  • Pip
  • 16 сообщений
НАРОД ДАВАЙ ПОМОГАЕМ СРОЧНО НУЖНА 2 ЛАБА ПО ИНФЕ (МАТЛАБ) писать 50 раз срочно не обязательно ;)




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных