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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2012, 14:28   #1
dando
 
Регистрация: 29.10.2012
Сообщений: 3
Печаль Уравнение x = A * exp(-x)

Всем доброго время суток. Написать программу для вычисления методом последовательных итераций уравнения x = A * exp(-x). Параметр A вводится пользователем. Проверить, для каких значений параметра A применим метод последовательных итераций. Читал теорию про последовательные итерации, но к сожалению так и не понял как это можно применить для решения данной задачи???? Вычитал в интернете, что одним из корней данного уравнения при вычислении методом последовательных итераций может быть 0.5*(1.0 + exp(-1.0)). Вот кое-что мне удалось сделать самому но программа не работает???? Подскажите пожалуйста нубу как сделать, чтобы она заработала????? Заранее огромное спасибо.
Код:
C++
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main() {
     double x=0.5*(1.0 + exp(-1.0)), x0, A, eps;
    cout << "A = ";
    cin >> A;
    cout << "eps = ";
    cin >> eps;
    do {
        x0 = x;
        x = A*exp(-x0);
    } while (abs(x-x0) > eps);
    cout << "x = " << x << endl;
    system("pause");
    return 0;
}
dando вне форума Ответить с цитированием
Старый 29.10.2012, 15:12   #2
metisse
Пользователь
 
Аватар для metisse
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от dando Посмотреть сообщение
Всем доброго время суток. Написать программу для вычисления методом последовательных итераций уравнения x = A * exp(-x). Параметр A вводится пользователем. Проверить, для каких значений параметра A применим метод последовательных итераций. Читал теорию про последовательные итерации, но к сожалению так и не понял как это можно применить для решения данной задачи???? Вычитал в интернете, что одним из корней данного уравнения при вычислении методом последовательных итераций может быть 0.5*(1.0 + exp(-1.0)). Вот кое-что мне удалось сделать самому но программа не работает???? Подскажите пожалуйста нубу как сделать, чтобы она заработала????? Заранее огромное спасибо.
Код:
C++
#include <cmath>
#include <iostream>
 
using namespace std;
 
int main() {
     double x=0.5*(1.0 + exp(-1.0)), x0, A, eps;
    cout << "A = ";
    cin >> A;
    cout << "eps = ";
    cin >> eps;
    do {
        x0 = x;
        x = A*exp(-x0);
    } while (abs(x-x0) > eps);
    cout << "x = " << x << endl;
    system("pause");
    return 0;
}
Что хочу отметить. Мне кажется, Вам нужно использовать цикл for с отсутствием элементов без определения цикла, тобеж
Код:
cout<< "Введите А: ";
cin>> А;
for( ; что-то; что-то);
....
Цикл while, do-while используется, когда известно число итеррации. Я тоже новичок, могу ошибаться. Поправьте, если ересть несу.

Последний раз редактировалось metisse; 29.10.2012 в 15:22.
metisse вне форума Ответить с цитированием
Старый 29.10.2012, 15:55   #3
metisse
Пользователь
 
Аватар для metisse
 
Регистрация: 13.11.2011
Сообщений: 16
По умолчанию

dando, мне кажется вы не разобрались с поставленной задачей. Попробуйте для начала решить задачу математическим путем, а потом, поняв смысл задачи, попроповать решить на ся пи пи.

Последний раз редактировалось metisse; 29.10.2012 в 16:00.
metisse вне форума Ответить с цитированием
Старый 30.10.2012, 14:30   #4
dando
 
Регистрация: 29.10.2012
Сообщений: 3
По умолчанию

Тему можно закрывать, решение найдено.
dando вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По поводу exp( ln() ) hatsub Общие вопросы Delphi 4 25.02.2011 23:39
Exp и возникшая проблема Georgios Помощь студентам 9 25.04.2009 19:41
Вычисление Exp Mickle Общие вопросы Delphi 1 26.04.2007 09:34