Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 05.01.2016, 05:32   #1 (permalink)
ILYA_RUSSIA
Новичок
 
Регистрация: 05.01.2016
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Решить уравнение методом простой итерации на С++ или на бумажке

Найти приближенное решение уравнения x = f(x), где f(x) = α*exp(x), при α = 0, 2 методом простой итерации: xn+1 = f(xn).
В качестве начального приближения взять x0 = 0.
Итерации продолжать до тех пор, пока |xn+1 − xn| ≥ ε, где ε — заданная точность.

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

Старый 05.01.2016, 05:32
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Люди интересуются одним и тем же, зачастую создают аналогичные темы

Решить уравнение методом половинного деления
Excel. Решить дифференциальное уравнение методом Эйлера

Старый 05.01.2016, 07:56   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ILYA_RUSSIA Посмотреть сообщение
Помогите пожалуйста решить задачу, на языке С++. Ну или покажите пример решения на бумаге, что бы можно было понять что к чему
На СИ, к сожалению, не пишу, а на бумаге - извольте, легче легкого.
Итак:

x0 = 0
x1 = 0.2*Exp(x0) = 0.20000
x2 = 0.2*Exp(x1) = 0.24428
x3 = 0.2*Exp(x2) = 0.25534
x4 = 0.2*Exp(x3) = 0.25818
...

Вот, разбирайтесь, что к чему. Удачи!
Vladimir_S вне форума   Ответить с цитированием
Старый 05.01.2016, 15:46   #3 (permalink)
ILYA_RUSSIA
Новичок
 
Регистрация: 05.01.2016
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Цитата:
Сообщение от Vladimir_S Посмотреть сообщение
На СИ, к сожалению, не пишу, а на бумаге - извольте, легче легкого.
Итак:

x0 = 0
x1 = 0.2*Exp(x0) = 0.20000
x2 = 0.2*Exp(x1) = 0.24428
x3 = 0.2*Exp(x2) = 0.25534
x4 = 0.2*Exp(x3) = 0.25818
...

Вот, разбирайтесь, что к чему. Удачи!
Спасибо, понял. А что такое ε? Мне ее надо задать или как то сосчитать? Тогда как ее считать?
ILYA_RUSSIA вне форума   Ответить с цитированием
Старый 05.01.2016, 17:56   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от ILYA_RUSSIA Посмотреть сообщение
Спасибо, понял. А что такое ε? Мне ее надо задать или как то сосчитать? Тогда как ее считать?
Мера точности. Для начала ее нужно задать, например, е=0.001, или е=0.00001 и т.п., как Вам нравится. Затем так.
1. Вводим три переменных X_old, X_new, D.
2. Задаем начальные значения X_old=0, D=1.
3. Организуем цикл Do While D>e с телом
X_new=0.2*Exp(X_old)
D=|X_new - X_old|
X_old=X_new
4. Выводим на печать результат и радуемся жизни.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 12:28.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.