0 / 0 / 0
Регистрация: 07.10.2020
Сообщений: 48
1

Подпрограмма для вычисления корня

06.04.2021, 21:02. Показов 451. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить подпрограмму для вычислений y=https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt[m]{x} с заданной степенью точности epsilon по итерационной формуле которую необходимо выбрать из таблицы 3.5.1 индивидуального задания. В этой же строке таблицы указана степень корня m и начальные значения величины y0. PS: M= 2.

3.5.1
Подпрограмма для вычисления корня


То, что получилось у меня(ничего не сошлось):

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#define _CRT_SECURE_NO_WARNINGS
 
#include <iostream>
 
#include <math.h>
 
#include <stdio.h>
 
#include <cstdlib>
 
using namespace std;
 
 
 
double funkt(double x, double eps) {
    double z0, z1, y0, y1;
    y0 = x;
    z0 = x - 1;
    z1 = (1.0 / 4.0 * pow(z0, 2) * (z0 - 3));
    y1 = (y0 - 1.0 / 2.0 * y0 * z1);
    while ((abs(y0 - y1)) > eps) {
        y0 = y1;
        y1 = (y0 - 1.0 / 2.0 * y0 * z1);
    }
 
    x = y1;
    return x;
 
}
 
void funkt2(double x, double eps, double* res) {
    double z0, z1, y0, y1;
    y0 = x;
    z0 = x - 1.0;
    z1 = (1.0 / 4.0 * pow(z0, 2) * (z0 - 3.0));
    y1 = (y0 - 1.0 / 2.0 * y0 * z0);
    while ((abs(y0 - y1)) > eps) {
        y0 = y1;
        y1 = (y0 - 1.0 / 2.0 * y0 * z1);
    }
 
    *res = y1;
}
 
int main() {
 
    setlocale(LC_ALL, "RUSSIAN");
    double x, a, d, c, v, eps,p,o;
 
    cout << "Введие x"; cin >> x;
    cout << "Введите eps"; cin >> eps;
 
    v = pow(x, 1.0 / 2.0);
    cout << "Значение чере математику = " << v << "\n";
 
    a = funkt(x, eps);
    cout << "Значение чере функцию = " << a << "\n";
 
    funkt2(x,eps, &d);
    cout << "Через процедуру =" << d << "\n";
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.04.2021, 21:02
Ответы с готовыми решениями:

Добавить блок для вычисления кубического корня в матрице
Здравствуйте, помогите пожалуйста добавить блок, чтобы если findMax(mat)&gt;10000, программа вычисляла...

Программа для вычисления квадратного корня. Ошибка компиляции в аргументе функции
Всем привет, программа для вычисления квадратного корня. Не компилируется из за вызова функции...

Рекурсивная подпрограмма вычисления суммы элементов массива, состоящего из n элеметов.
Всем привет. Друзья, подскажите - необходимо написать на С++ рекурсивную подпрограмму вычисления...

Функция вычисления корня многочлена
Здравствуйте! Подскажите пожалуйста, как написать функцию вычисления корня многочлена f(x) = x5 +...

2
Мозгоправ
1744 / 1038 / 468
Регистрация: 01.10.2018
Сообщений: 2,138
Записей в блоге: 2
07.04.2021, 01:18 2
AdamCasper, во-первых, в цикле while нужно пересчитывать не только y1, но и z1, от которого зависит y1.

Во-вторых, формулы на скриншоте... скажем так, подозрительные. Например, при x = 3 будут z0 = 2 и z1 = -1, и все последующие значения z1 будут -1, что приведёт к неограниченному росту y1. Т.е. последовательность не будет сходящейся.

А вообще для итерационного вычисления квадратного корня есть формула Герона. См. здесь и здесь.
0
0 / 0 / 0
Регистрация: 07.10.2020
Сообщений: 48
07.04.2021, 07:37  [ТС] 3
Z1 тоже пересчитывал (не та версия кода), все равно получал фигню
0
07.04.2021, 07:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2021, 07:37
Помогаю со студенческими работами здесь

Вычисления корня с рекурсией и без неё
Здравствуйте. Столкнулся с такой проблемой: y(n)=sqrt(1+sqrt(2+...+sqrt(n))) Добавлено через...

Функция приближенного вычисления квадратного корня
Помогите решить задачу: Написать функцию приближённого вычисления квадратного корня по формуле xn...

С++ Функция приближённого вычисления квадратного корня
Написать функцию приближённого вычисления квадратного корня по формуле {x}_{n}=x/2+a/2*x,...

Написать рекурсивную функцию вычисления корня уравнения f(x)=0
Подскажите, плиз, как написать рекурсивную функцию вычисления корня уравнения f(x)=0. Функция f...

Разработать алгоритм вычисления значения корня n - й степени
Разработать алгоритм и записать программу для вычисления значения корня n - й степени с заданной...

Разработать алгоритм вычисления корня n-ой степени из комплексного числа
В общем нужно на любом языке накатать программу: Разработать алгоритм вычисления корня n-ой...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru