1 / 1 / 4
Регистрация: 11.04.2012
Сообщений: 17
|
|
1 | |
Решение нелинейного уравнения04.05.2012, 18:27. Показов 2404. Ответов 17
Метки нет (Все метки)
Добрый вечер, никак не могу понять как реализовать на C++ решение следующего нелинейного уравнения относительно a:
bk, ck, d - константы.
0
|
04.05.2012, 18:27 | |
Ответы с готовыми решениями:
17
Решение нелинейного уравнения Решение нелинейного уравнения Решение нелинейного уравнения 2^y-1-x*y*a=0 Решение нелинейного уравнения |
95 / 64 / 5
Регистрация: 03.07.2011
Сообщений: 148
|
||||||
04.05.2012, 19:02 | 2 | |||||
Это же функция, а не уравнение. Или я что-то не понимаю? Как-то так, наверное
0
|
1 / 1 / 4
Регистрация: 11.04.2012
Сообщений: 17
|
|
04.05.2012, 20:51 [ТС] | 3 |
andy_111
Почему же функция? Вроде, нелинейное уравнение относительно "a", "a" ведь ни от чего не зависит, всё остальное известно. Я думал, оно численно решается, вот и пришёл за советом.
0
|
1 / 1 / 4
Регистрация: 11.04.2012
Сообщений: 17
|
|
04.05.2012, 21:57 [ТС] | 5 |
Kuzia domovenok,
Никакого отрезка, на котором они могли бы быть, не задано.
0
|
Модератор
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,695
|
|
04.05.2012, 22:01 | 6 |
Решать рекурентно.
у нас есть зависимость a=f(a). Берем произвольное a, вычисляем f(a), подставляем в a и повторяем процесс до достижения желаемой точности.
0
|
04.05.2012, 22:12 | 7 |
Самое первое что приходит в голову подбирать значение а, (но для этого надо знать откуда начинать то есть хотя бы одну границу и погрешность вычислений) и проверять неравенство
Код
|a - f(a)| < e, Добавлено через 2 минуты Полюбому нужно знать границы (отрезок значений), иначе решение может длиться бесконечность
0
|
04.05.2012, 22:15 | 8 |
А разве доказано, что f(a) -это сжимающая функция?
Он прав, есть такой метод, но это метод простых итераций, основанный на какой-то теореме о сжимающих функциях. Проблема в том, что на счёт этих функций в этом случае я не уверен.
0
|
Модератор
13502 / 10754 / 6409
Регистрация: 18.12.2011
Сообщений: 28,695
|
|
04.05.2012, 22:22 | 9 |
Методом проб и ошибок, другого варианта нет.
Если процесс будет расходиться, то пробовать другие начальные значения.
0
|
04.05.2012, 22:34 | 10 |
Нужно знать либо природу ф-ции либо границы в которых находятся корни. Может вы про это http://ru.wikipedia.org/wiki/Метод_Ньютона
0
|
04.05.2012, 22:35 | 11 | |||||
всё-таки попробуй методом итераций решить. Если он не будет сходиться, значит не судьба.
1
|
Заблокирован
|
|
04.05.2012, 23:03 | 12 |
Думаю, что автор темы не полностью привел условие задачи.
В таком виде, рехнуться можно не только решения искать, но даже ОДЗ, и в таком общем виде никто и никогда такие уравнения не дает. Должны быть еще какие-то условия на коэффициенты. Например, положительность некоторых из них. Тогда, немного покрутившись и применив классические неравенства типа Коши-Шварца, и использовав стандартные свойства, как то неотрицательность подкоренного выражения, вполне можно определить тот ОТРЕЗОК, на котором могут быть корни данного уравнения, и который подлежит обследованию.
0
|
05.05.2012, 04:32 | 16 | |||||
Вот что получилось, детельно правдо не проверял
0
|
05.05.2012, 04:43 | 17 |
Долго мучался в подборе начального а, так как если неаккуратно его выбрать, то значение заганяется в область где значение ф-ции несуществует (из-за корня из отрицательного числа)и оттуда не выходит + нужно учитывать погрешность вычислений.
Хорошо что под рукой есть MathCad (кстати там походу аналогичным образом производятся вычисления корней)
1
|
1 / 1 / 4
Регистрация: 11.04.2012
Сообщений: 17
|
|
05.05.2012, 18:37 [ТС] | 18 |
Всем большое спасибо, особенно вам, Avazart.
В общем, для начального приближения было принято взять решение уравнения для n=2.
0
|
05.05.2012, 18:37 | |
05.05.2012, 18:37 | |
Помогаю со студенческими работами здесь
18
Решение нелинейного уравнения. Найти решение нелинейного уравнения Решение нелинейного уравнения методом итераций в с++ Решение нелинейного уравнения методом перебора Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |