Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 05.01.2023
Сообщений: 22

Метод секущих( счет итераций)

13.04.2023, 18:58. Показов 498. Ответов 3

Студворк — интернет-сервис помощи студентам
Здравствуйте, проблема с количеством итераций в методе секущих.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
double Method_sek(double x0, double(&f)(double), double h)
{
    double y1{}, x1;
    double y0 = f(x0);
    int iter = 0;
    do
    {
        x1 = x0 - y0 * h / (y0 - f(x0 - h));
        y1 = f(x1);
        if (f(x1) == 0)
            return x1;
        x0 = x1;
        y0 = y1;
        iter++;
    } while (abs(x1 - x0) > h);
    std::cout << "\nКоличество итераций " << iter << endl;
    return x1;
}
При выводе каждого корня пишет одно и тоже: "Количество итераций 1"
Я понимаю, что это неправильно. Подскажите, пожалуйста, где ошибка.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2023, 18:58
Ответы с готовыми решениями:

Мой код - метод бисекции, метод секущих (метод хорд)
Всем привет!!! Изучаем в институте С++. Сделал код, и там, и там одна и та же проблема - при любых вбиваемых значениях программа делает...

Посчитать количество проведенных итераций (метод простых итераций, Pascal -> C++)
перевести из паскаля в С++ program method_of_simple_iteration; uses crt; var a:array of real; b,c:array of real; ...

Метод секущих
Нужно разработать функцию для нахождения локализованного корня методом секущих. С ее написание не возникло проблем, но задача состоит в том...

3
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
13.04.2023, 20:02
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
double Method_sek(double x0, double (&f) (double), double h)
{
 double y1{}, x1;
 double y0 = f(x0);
 int iter=0;
 do
  {
    x0 = x1;
    y0 = y1;
    x1 = x0 - y0 * h / (y0 - f(x0 - h));
    y1 = f(x1);
    if (f(x1) == 0) return x1;
    iter++;
    } while (abs(x1 - x0) > h);
  std::cout << "\nКоличество итераций " << iter << endl;
  return x1;
}
0
1 / 1 / 0
Регистрация: 05.01.2023
Сообщений: 22
13.04.2023, 20:20  [ТС]
Спасибо большое за то, что отозвались, но, к сожалению, количество итераций не считается. По прежнему выводит "Количество итераций 1"
0
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,531
Записей в блоге: 1
15.04.2023, 22:44
AgathaB, почему у меня считается, у тебя не считается?
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
#include <iostream>
#include <cstdlib>
using namespace std;
double foo(double x) {
    return 4-x*x;
}
double Method_sek(double x0, double(&f) (double), double h)
{
    double y0 = f(x0);
    double y1=y0, x1 = x0;
    int iter = 0;
    do
    {
        x0 = x1;
        y0 = y1;
        x1 = x0 - y0 * h / (y0 - f(x0 - h));
        y1 = f(x1);
        if (f(x1) == 0) return x1;
        iter++;
    } while (abs(x1 - x0) > h);
    std::cout << "\nx=" << x1 << endl;
    std::cout << "\nКоличество итераций " << iter << endl;
    return x1;
}
int main() {
    setlocale(LC_ALL, "Russian");
    Method_sek(1e-2, foo, 1e-2);
    return 0;
}
Кликните здесь для просмотра всего текста
Code
1
2
3
x=2
 
Количество итераций 12
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.04.2023, 22:44
Помогаю со студенческими работами здесь

Метод секущих
в чем ошибка? он не выводит значения #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; float f(float x) { return...

Метод секущих С++
Может кто помочь решить задачу! Функция: x-5sin2(x)-5 Отрезок: Метод секущих Необходимо найти корни уравнения

Метод секущих (блок-схема)
подскажите пожалуйста, правильно ли я составил блок-схему по методу секущих Скрин во вложении.. Вот листинг: #include &lt;conio.h&gt;...

Написать программу метод секущих
Помогите написать программу, нужно решить нелинейное уравнение pow(x,5)-pow(x,4)+3*pow(x,3)-5*pow(x,2)+15*x-1=0 метод секущих. С...

Исправить программу метод секущих
Доброго дня всем.. Никак не могу понять почему не компилируется программа.. #include &lt;iostream&gt; #include &lt;math.h&gt; ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru