Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.98/65: Рейтинг темы: голосов - 65, средняя оценка - 4.98
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 20

Решение нелинейных уравнений

23.05.2013, 18:12. Показов 12590. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, у меня такая проблема, нужно написать программу для решение нелинейного уравнения y=3x-4ln(x)-5 методом Ньютона.
Дано следующее пояснение: Метод Ньютона (касательных) основан также на последовательном задании значений x и вычислении функции F(x), причем очередное значение x определяется формулой:
x(n+1)=x(n)-F(x(n))/F’(x(n)),
где F’(x(n)) – производная от функции F(x) в точке x(n).
Геометрически производная от F(x), как известно, по величине равна тангенсу угла наклона касательной к кривой F(x) в точке x. Тогда точка x(n+1) есть точка пересечения с осью абсцисс касательной к кривой F(x), проведенной в точке x=x(n). Как и в методе итераций, начальное значение x задается как ближайшее табличное к месту перехода функции F(x) через нуль.
Выражение для производной F’(x) получают аналитически в результате дифференцирования функции F(x). Значение производной может быть получено приближенно и численным методом:
F’(x)=(F(x+E)-F(x))/E.
Итерационный процесс приближения к корню (последовательное вычисление x(n+1)) продолжается до тех пор, пока будет выполняться условие |x(n+1)-x(n)|>=E.
Следует иметь ввиду, что при выполнении задания и алгоритм, и программа должны предусматривать оба этапа работы: табулирование функции F(x) с выбором начального приближения и процесс поиска корней с заданной точностью.

Уже неделю бьюсь над этой задачей, решил обратиться за помощью к вам, заранее спасибо.
Вот до чего дошел:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def F(x):
    return 3*x-4*log(x)-5
def F1(x):
    return 3-4/x
 
def R():
     e=10**(-5)
     a=float(a_entry.get())
     b=float(b_entry.get())
     n=10
     h=(b-a)/int(n)
     P=[]
     for i in range(n+1):
         P.append(F(a+h*i))
     T=[]
     for i in range(1,len(P)):
         if (P[i-1]>0 and P[i]<0) or (P[i-1]<0 and P[i]>0):
             if (abs(P[i-1])-0)<=(abs(P[i])-0):
                 T.append(P[i-1])
             else:
                 T.append(P[i])    
 
             if len(T)==0:
                p_label.configure(text="Решений нет")
             else:
                for i in range(len(T)):
                    x=T[i]
                    x_next=x-F(x)/F1(x)
                    while  abs(x_next-x)>=e:
                        x=x_next
                        x_next=x-F(x)/F1(x)
                p_label.configure(text=(x_next))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.05.2013, 18:12
Ответы с готовыми решениями:

Численное решение нелинейных уравнений с заданной точностью
Помогите доделать код По заданному нелинейному уравнению F(x)=0, где F(x) – некоторое нелинейное аналитическое выражение,...

Метод Ньютона для решения нелинейных уравнений
Доброго времени суток! Столкнулся с проблемой при реализации метода Ньютона для нахождения корней вот такого уравнения: def f(self, x): ...

Численное решение нелинейных уравнений
Составить 3 программы, для решения нелинейного уравнения методом простых итераций, методом Ньютона и методом секущих с точностью 0,001

2
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
23.05.2013, 23:44
Что-то у вас всё в одну кучу свалено. Смешивать вычисления и ввод/вывод - это вообще плохо. Вы что, к tkinkter-у всё это привязываете? Зачем? (И где начало программы?)

Давайте вы для начала напишете функцию табулирования. Примерно такую: tabulate(f, a, b, h). В качестве аргументов она будет принимать функцию f, которую нужно табулировать, концы отрезка a, b и шаг сетки h.

Добавлено через 1 минуту
Табулирование нам нужно будет, чтобы определить, на каком отрезке находится корень, чтобы его там искать.

О вводе-выводе вообще не думайте пока. Ведь в питоне вы любую функцию можете протестировать из интерпретатора.
0
0 / 0 / 0
Регистрация: 18.12.2012
Сообщений: 20
28.05.2013, 09:34  [ТС]
Здесь только функция из всей программы. Спасибо, за то, что откликнулись, но я уже разобрался)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.05.2013, 09:34
Помогаю со студенческими работами здесь

Решение систем нелинейных уравнений
Решить две системы нелинейных уравнений : Первую - методом простых итераций; вторую - методом Ньютона по формулам. Начальное приближение...

Система нелинейных дифференциальных уравнений с гран. усл. solver_bvp
У меня есть система нелинейных ДУ. 1) Ошибка с f1f2_model(y, u1, u2, x1, x2, x22) в spi.solve_bvp- если я подаю функцию как lambda y,...

Численное решение систем нелинейных уравнения
Нужно решить систему нелинейных уравнений с помощью метода простой итерации и заданной точностью 0,001 Помогите пожалуйста:cry:

Решение нелинейных уравнений и СЛАУ нелинейных уравнений методом половинного деления и Ньютона
Помогите подредактировать эту программу - (см.код по ссылке) https://www.cyberforum.ru/pascal/thread33419.html под задание (см.скрин), без...

Решение нелинейных уравнений и систем уравнений программными средствами excel
Решить уравнение и найти экстремум функции, Решить систему нелинейных уравнений


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru