Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.09.2018, 10:49   #1
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию [C++] Метод простых итераций, не могу разобраться

Написать на языке C++ программу нахождения корня нелинейного уравнения f1(x)= f2 (x) методом Простых Итераций на заданном интервале аргумента x (т.е. при Хн ≤ Х ≤ Хк ).(см. приложение) Программа
должна производить подсчет количества итераций и выводить на экран промежуточные значения номера итерации и корня нелинейного уравнения на каждой итерации. Результаты вычисления корня следует выводить на дисплей в формате с плавающей точкой.
Изображения
Тип файла: jpg Снимок 2.6.JPG (36.9 Кб, 115 просмотров)
Тип файла: jpg Снимок 2.7.JPG (31.0 Кб, 112 просмотров)
Тип файла: jpg Снимок 2.1.JPG (35.5 Кб, 114 просмотров)
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 10:53   #2
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию

Код:
#include <conio.h>
#include <math.h>
#include <iostream.h>
#define pi 3.14
double f(double x) {
 
    return   x*x-(cos(pi*x));
}
 
double fi(double x, double L) {
 
    return  x+L*f(x);
}
 
 
int main() {
    int n=0;
    double x,y,c,b,L=-0.35,eps;
    cout<<"x="; cin>>x;
    cout<<"eps="; cin>>eps;
    do {
        y=fi(x,L);
        b=fabs(x-y);
        x=y;
        n+=1;
    }
    while (b>=eps);
        cout<<"c="<<x<<"\n";
        cout<<"n="<<n<<"\n";
        getch();
    return 0;
}

Последний раз редактировалось Jake_bat; 14.09.2018 в 10:57.
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 10:55   #3
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию

Что нужно поменять в этом коде?
В цикле в принципе я все понял, с ОДНОЙ функцией то же, но что мне делать, если функции 2 и они равны друг другу, при этом разные, судя по заданию
------
Метод Ньютона вроде понял, но опять же, функции нужно каким-то образом переделать но как?
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 10:58   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Что за старый компилятор у вас?
Зачем дефайнить пи, когда она есть в math?
Что это за функции f и fi?

Что-то у вас явно не то с заданием. Вам даны две функции и два начальных приближения, т.е. подразумевается решения двух уравнений f(x) = 0.
p51x вне форума Ответить с цитированием
Старый 14.09.2018, 11:12   #5
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию

Одно начальное, второе конечное вот из методички скрины
То есть интервал, но почему 2 функции то?
Изображения
Тип файла: jpg Снимок 2.2.JPG (69.5 Кб, 105 просмотров)
Тип файла: jpg Снимок 2.3.JPG (75.6 Кб, 103 просмотров)
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 11:14   #6
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию

Либо мне нужно взять 2 функции и решить их по методу итераций?
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 11:16   #7
Jake_bat
 
Регистрация: 14.12.2015
Сообщений: 9
По умолчанию

Ладно, окей, беру формулу... Зачем нужна Кси?
Нигде не нашел нормального ответа(
Jake_bat вне форума Ответить с цитированием
Старый 14.09.2018, 11:16   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Зачем? Делайте по методичке - вон же порядок преобразований расписан с 2.13 и 2.14.
p51x вне форума Ответить с цитированием
Старый 14.09.2018, 11:18   #9
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Сообщение от Jake_bat Посмотреть сообщение
Ладно, окей, беру формулу... Зачем нужна Кси?
Нигде не нашел нормального ответа(
Посмотреть 2.11 и 2.15 в вашей же методичке не судьба? Это обозначение новой функции.
p51x вне форума Ответить с цитированием
Старый 14.09.2018, 11:21   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Jake_bat Посмотреть сообщение
Либо мне нужно взять 2 функции и решить их по методу итераций?
если f1(x) = f2(x), тогда f1(x) - f2(x) = 0

обозначаете F1F2(x) = 0 и находите X
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод простых итераций Varyana Помощь студентам 0 20.11.2015 22:15
Метод простых итераций С++ MicRaiS Помощь студентам 0 27.10.2012 10:35
Метод простых итераций bloodargus Общие вопросы C/C++ 4 26.11.2010 23:53
Метод простых итераций bloodargus Общие вопросы C/C++ 1 20.11.2010 12:48
Метод простых итераций church Общие вопросы C/C++ 3 06.06.2009 15:26