Форум программистов, компьютерный форум CyberForum.ru

Уравнение x = A*cos(x) - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
27.10.2012, 23:20     Уравнение x = A*cos(x) #1
Всем доброго время суток. Написать программу для вычисления методом последовательных итераций уравнения x = A*cos(x). Параметр A вводится пользователем. Проверить, для каких значений параметра A применим метод последовательных итераций. Читал теорию про последовательные итерации, но к сожалению так и не понял как это можно применить для решения данной задачи???? Насколько я понял x = cos(x) при x очень близких к 0. Но остается параметр A, которой должен удовлетворять данному равенству. Ума не приложу как это реализовать программно???? Помогите пожалуйста!!!! Заранее огромное спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
30.10.2012, 16:52     Уравнение x = A*cos(x) #41
-=ЮрА=-, вы не умеете читать, или читаете невнимательно.
Я попросил с начальной точкой x0 = 2
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
30.10.2012, 16:53     Уравнение x = A*cos(x) #42
ах да с начальной точкой 2 просто прости не увидел
doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
30.10.2012, 17:02     Уравнение x = A*cos(x) #43
Вы же сами так говорили, ну вот и попробуйте с любой точкой кроме 3 (т.к. 3 - корень)

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Ещё раз повторяю - НАЧАЛЬНАЯ ТОЧКА В МЕТОДЕ ПРОСТЫХ ИТЕРАЦИЙ НЕ ИГРАЕТ ТАКОЙ КРИТИЧЕСКОЙ РОЛИ
Добавлено через 7 минут

Не по теме:

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
- я не выкаю людям младше меня, дорости сначала)))
Ну вы же производите впечатление умного человека, ну зачем вести себя как "гопник с раёна". К тому же меня вы не знаете.

-=ЮрА=-
Заблокирован
Автор FAQ
30.10.2012, 17:19     Уравнение x = A*cos(x) #44
Цитата Сообщение от doctor_lecter Посмотреть сообщение
Ну вы же производите впечатление умного человека, ну зачем вести себя как "гопник с раёна". К тому же меня вы не знаете.
-
это камень в мой огород?

Хорошо ниже решение именно с 2-кой, интересно как ты сейчас запоёшь
http://cismet.blogspot.com/p/blog-page_13.html

Суть метода простых итераций состоит в переходе от уравнения
f(x)= 0 (*)
к эквивалентному уравнению
x =φ(x). (**)
Этот переход можно осуществить разными способами, в зависимости от вида f(x). Например, можно положить
φ(x) =x+bf(x),(***)
где b = const, при этом корни исходного уравнения не изменятся.

Я например захотел так
g(x) = x + 0.5*f(x)

Решение
f(x) = 6-2*x
g(x) = x + 3 - x = 3
Если известно начальное приближение к корню x0, то новое приближение
x1=φx(0),
x1= g(x0 = 2) = 3
NICE TRY да не все функции подходят под тупую схему - забрать икс от исходной функции, ну и что начальная точка изменила итог, м?

Добавлено через 6 минут

Не по теме:

doctor_lecter, хоть так хоть эдак, повторюсь

Сообщение от -=ЮрА=-
Ещё раз повторяю - НАЧАЛЬНАЯ ТОЧКА В МЕТОДЕ ПРОСТЫХ ИТЕРАЦИЙ НЕ ИГРАЕТ ТАКОЙ КРИТИЧЕСКОЙ РОЛИ КАК В ДРУГИХ МЕТОДАХ, зарубали на носу и перестали дискутировать
а кроме этого для простых итераций ещё важен подбор функции. Этих недостаков лишены более продвинутые методы, скажем, хорд, бисекций и посложней...

doctor_lecter
 Аватар для doctor_lecter
279 / 152 / 8
Регистрация: 22.09.2012
Сообщений: 283
30.10.2012, 17:43     Уравнение x = A*cos(x) #45
Можно даже еще добавить что
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Этот переход можно осуществить разными способами, в зависимости от вида f(x). Например, можно положить
g(x) = x + 0.5*f(x)
φ(x) =x+bf(x),(***)
где b = const, при этом корни исходного уравнения не изменятся.
b не обязательно const, важно чтобы не равно 0.
А теперь представьте что вы не знаете общего вида уравнения, у вас есть некоторая уже реализованная кем-то функция f(x), и вам нужно решить методов простых итераций уравнение f(x) = 0

Под вашу новую схему можно придумать еще одно уравнение, которое будет также зацикливаться, и в общем случае вы не сможете подобрать "правильную схему", если есть 1 уравнение которое не подходит под схему, то вполне может быть и больше.

NICE TRY, но мы до этого обсуждали метод в котором b = 1, и я привел пример при котором он зацикливается, вы это отрицали. Теперь просто немного изменили схему метода.

Добавлено через 50 секунд
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
а кроме этого для простых итераций ещё важен подбор функции. Этих недостаков лишены более продвинутые методы, скажем, хорд, бисекций и посложней...
Так я это и пытаюсь сказать. Для каких-то функций метод простых итераций хорош, для каких-то лучше использовать другой метод

Добавлено через 4 минуты
К тому-же по вашей ссылке (кстати, я ее уже выше приводил), есть еще и критерий сходимости этого метода.

Добавлено через 14 минут
Тут хорошо рассказывается про метод простых итераций http://webmath.exponenta.ru/s/kiselev1/node80.htm, там же рассмотрен этот пример, который я выше привел
-=ЮрА=-
Заблокирован
Автор FAQ
30.10.2012, 17:54     Уравнение x = A*cos(x) #46
Цитата Сообщение от doctor_lecter Посмотреть сообщение
но мы до этого обсуждали метод в котором b = 1, и я привел пример при котором он зацикливается, вы это отрицали. Теперь просто немного изменили схему метода.
- но мы обсуждали то мы обсуждали это, мы обсуждали метод простых итераций

Цитата Сообщение от doctor_lecter Посмотреть сообщение
Так я это и пытаюсь сказать. Для каких-то функций метод простых итераций хорош, для каких-то лучше использовать другой метод
- а я вообще ничего не говорил об итерационных методах, самым простым из которых является метод простых итераций(название говорит само за себя).

Цитата Сообщение от doctor_lecter Посмотреть сообщение
Под вашу новую схему можно придумать еще одно уравнение, которое будет также зацикливаться, и в общем случае вы не сможете подобрать "правильную схему", если есть 1 уравнение которое не подходит под схему, то вполне может быть и больше.
- кто не сможет?Хм программно можно вбить цикл адаптивного подбора - долго будет но можно вообще научить программу подбирать схемы решений критерием перехода на другую константу сделав скажем достижение 1000 итераций

Кликните здесь для просмотра всего текста

Не по теме:

doctor_lecter, суть нашего общения лично для меня ясна, просто кому-то хотелось показать что он умнее другого, но не вышло, потому пошли откаты аля мы разговаривали о той схеме либо о другой. Мы разговаривли о методе простых итераций, плавно начав что всё же он зависит от вида функции, в частности от ОДЗ данной функции, от вида итерационной функции g, но при правильном выборе g при заданном аргументе из ОДЗ функции, метод простых итераций не зависит от начальной точки, т.е если точку взяли подальше от корня просто на пару итераций сделаем больше не более. Повторять свою фразу не буду, так как по 3 раза не повторяю...
Едиснтвенный мой промах был что посмотрев на разложения в ряд тригонометрических функций и вспомнив по практике что большинство значений аргумента должно быть в пределах +-1 решил экстраполировать это неписаное правило и на экспонециальную функцию, хорошо был огрех и всёбольше огрехов не было. У тебя же были ошибки уже а не огрехи на счёт ОДЗ, на счёт начальной точки потому я бы на твоем месте просто спокойно отнёсся к данному факту и просто пошёл бы в другой топик, а не воровал моё время. Уверен в следующий раз когда дело каснётся метода простых итераций будешь также как и я осмотрительней в своих выводах.
А теперь итог - автору темы помогли, нафлудили 3 страницы, хотя впринципе инфа в постах полезная и поучительная, думаю пора заняться делами.

doctor_lecter
30.10.2012, 18:05
  #47

Не по теме:

Я всего-лишь хотел показать что при определенных параметрах (в том числе и начальной точки) метод может зациклиться, показать что кто-то умнее кого-то у меня цели не было. В конце привел ссылку в которой говорится про сходимость этого метода в частности и про метод в целом, если хотите можете почитать в свободное время.
Впрочем, можете считать как вам это нравится. Это мое последнее сообщений в данной теме.
Наилучших вам пожеланий.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.10.2012, 19:30     Уравнение x = A*cos(x)
Еще ссылки по теме:

C++ Написать программу, которая решает уравнение с одним неизвестным и выводит в консоль значение неизвестного. Уравнение посимвольно вводится с клавиатур
Создать производные классы линейное уравнение и квадратное уравнение, в которых данная функция переопределена C++
Уравнение cos(2/x) * sin(x) = 0 , вывести корни на экран C++

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

Или воспользуйтесь поиском по форуму:
isaak
101 / 38 / 9
Регистрация: 17.10.2010
Сообщений: 634
30.10.2012, 19:30  [ТС]     Уравнение x = A*cos(x) #48
Спасибо огромное ребята! В споре рождается истина, много полезной информации для себя почерпнул!!!!

Добавлено через 10 минут
В задании написано "Проверить, для каких значений параметра A применим метод последовательных итераций." Это и сделано.
Yandex
Объявления
30.10.2012, 19:30     Уравнение x = A*cos(x)
Ответ Создать тему
Опции темы

Текущее время: 09:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru