Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
1

Функция корня степени

31.03.2010, 14:21. Показов 5256. Ответов 7
Метки нет (Все метки)

Написать и протестировать функцию, которая по натуральному k и вещественным x > 0, 0 < ε ≤ 10-6 вычисляет значение , используя следующую итерационную формулу:

(формула во вложении).

В качестве результата берётся то значение yi+1 , для которого |yi+1 - yi| < ε.

Пожалуйста, помогите сделать, пообещал другу помочь, а сам не справляюсь((
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Функция корня степени  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2010, 14:21
Ответы с готовыми решениями:

Вычисление корня n-ой степени
Сам обучаюсь C#, но дали решить С++ не понимаю помогите пожалуйста!!!

Извлечение корня n-степени
Написал программу для вычисления корня n-cтепени #include&lt;iostream&gt; #include&lt;math.h&gt; using...

Нахождение корня n-ой степени
Задача про нахождение корня n-ой степени из числа а. Метод - деление отрезка пополам, метод в...

Рекурсия: вычисление корня n-ой степени
Вот условие А вот то, что я набросал... Прошу исправить... Зарание спасибо: #pragma argsused...

7
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.04.2010, 08:26  [ТС] 2
Помощь всё ещё требуется.

Добавлено через 3 часа 43 минуты
Вопрос ещё не решён.

Добавлено через 10 часов 25 минут
ПОжалуйста, помогите решить, очень нужно! Блин, я такх функций ещё не встречал
0
Эксперт С++
1934 / 1046 / 109
Регистрация: 29.03.2010
Сообщений: 3,167
01.04.2010, 10:12 3
прошу простить, а что тут сложного то? условия вхождения и выхождения из цикла даны, формула то-же дана, берите да пешите.... я может бы и написал бы код, но иннет лимитирован и картинки смотреть - к сожалению не позволительная роскошь.
0
3081 / 2402 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
01.04.2010, 11:01 4
C
1
2
3
4
5
6
7
8
9
10
11
12
13
double fun(double x, double k)
{
   double eps = 0.000001;
   double prev_y, next_y;
 
   next_y = x;
   do
   {
      prev_y = next_y;
      next_y = prev_y + ((x/pow(prev_y, k-1)) - prev_y)/k;
   }while ((next_y - prev_y) > eps);
   return next_y;
}
1
This party getting crazy!
78 / 64 / 1
Регистрация: 22.09.2009
Сообщений: 427
01.04.2010, 17:34  [ТС] 5
блин....допустил ошибку в условии. Там где вычисляет значение...вычисляет значение корня степени к из икса по интерационной формуле. Как исправить скажите пожалуйста, чтобы вычислить это значение? я пока что вот так склеял:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <stdio.h>
#include <math.h>
 
double fun(double x, double k);
 
int main()
{
    float x, k, y;
 
    printf("Enter x:\n");
    scanf("%f", &x);
    printf("Enter pow of sqrt k:\n");
    scanf("%f", &k);
    y = fun(x, k);
    printf("sqrt = %f" "\n", y);
    getchar();
    getchar();
    return 0;
}
 
double fun(double x, double k)
{
   double eps = 0.000001;
   double prev_y, next_y;
 
   next_y = x;
   do
   {
      prev_y = next_y;
      next_y = prev_y + ((x/pow(prev_y, k-1)) - prev_y)/k;
   }
   while ((next_y - prev_y) > eps);
   return next_y;
}
Спасибо всем кто поможет исправить, и вычислить правильно выражение.

Добавлено через 3 часа 55 минут
Народ, так как можно исправить, подскажите плиз.
0
3081 / 2402 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
02.04.2010, 04:16 6
Попробуй такую формулу
C
1
prev_y = next_y;    next_y = (prev_y * (k - 1) + x/pow(prev_y, k-1))/k;
0
3081 / 2402 / 255
Регистрация: 11.03.2009
Сообщений: 5,444
02.04.2010, 12:03 7
Окончательный вариант
C
1
2
3
4
5
6
7
8
9
10
11
12
13
double Nth_root(double number, double power)
{
   double eps = 0.000001;
   double prev_y, next_y;
 
   next_y = number;
   do
   {
      prev_y = next_y;
      next_y = (prev_y*(power - 1) + number / pow(prev_y, power- 1))/power;
   }while (fabs(next_y - prev_y) > eps);
   return next_y;
}
правильная формула для нахождения корня n-ой степени
0
Изображения
 
2 / 2 / 2
Регистрация: 12.10.2013
Сообщений: 168
30.11.2013, 23:13 8
Вышеупомянутый код не будет работать для значение 2е-30 при n == 2
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2013, 23:13

Вычисление корня заданной степени
Всем привет. Как сделать корень по основанию? Например:

Рекурсивное вычисление корня k-й степени
Описать рекурсивную функцию RootK(X, K, N) вещественного типа, находящую приближенное значение...

Извлечение корня н-ной степени из числа
Здравствуйте!!! Тут задачка такая: нужно извлечь корень н-ной степени из числа методом деления...

Вычисление корня n-й степени по итерационной формуле
Доброго времени суток, тут есть одна задача... Известно, что корень n-й степени из X может быть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.