0 / 0 / 0
Регистрация: 14.11.2022
Сообщений: 33

NumPy, Matplotlib, метод бисекций

03.05.2023, 14:26. Показов 1725. Ответов 4
Метки нет (Все метки)

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

Вот у нас есть функция: e^x - 2cosx = 0.

1) Напишите программу для построения графиков функций с помощью библиотеки Matplotlib и найдите интервал из области определения функции f(x), в котором содержится только один корень уравнения f(x)=0. Например, для уравнения
1/x - sinx= 0 строим графики следующих функций: 1/x и sinx.

2) Напишите программу нахождения корня нелинейного уравнения методом деления отрезка пополам (метод бисекций) с точностью 0.0001
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2023, 14:26
Ответы с готовыми решениями:

Найти все нули функции (NumPy, SciPy, Matplotlib)
Найти (приблизительно, графическим способом) все нули функции на числовом отрезке . Сделать проверку полученных результатов f(x) = cos...

Не запускается метод бисекций на Python. Не понимаю, где ошибка
import matplotlib.pyplot as plt import numpy as np x1 = 10 y1 = 3 eps = 0.001 g = 9.8 f = lambda t: (t - np.sin(t)) / (1 -...

NumPy, Matplotlib
Доброго времени суток, дорогие форумчане! Прошу прощения за такой тривиальный вопрос! Но, как я начинающий в Python, то хотелось бы у...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
03.05.2023, 16:32
Цитата Сообщение от Rustamtao Посмотреть сообщение
Вот у нас есть функция:
- а вот это - не функция, а уравнение. И без NumPy

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from math import cos,exp
 
def dicho(f,a,b,eps):
    fa=f(a)
    fb=f(b)
    if fa*fb < 0:
        while (abs(a-b) > eps):
            c=0.5*(a+b)
            fc=f(c)
            if abs(fc)<eps:
                return c
            if fc*fa < 0:
                b=c
                fb=fc
            else:
                a=c
                fa=fc
        return 0.5*(a+b)
    else:
        return None
        
print(dicho(lambda x: exp(x)-2*cos(x),0,3,1.0e-6))
Вывод: 0.5397849082946777
2
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
03.05.2023, 16:32
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
import numpy as np 
import matplotlib.pyplot as plt
 
def half_func(a, b, f):
    x = (a + b) / 2
    while np.abs(f(x)) >= eps:
        x = (a + b) / 2
        a, b = (a, x) if f(a) * f(x) < 0 else (x, b)
    return (a + b) / 2
 
def fun(x):
  return np.exp(x) - 2*np.cos(x)
 
 
eps = 1e-4
x = np.linspace(0, 1, 100)
y1 = np.exp(x)
y2 = 2*np.cos(x)
 
plt.xlabel('x')
plt.ylabel('y1, y2')
plt.grid()
plt.plot(x, y1, x, y2)
plt.show()
 
xo = half_func(0.4, 0.6, fun)
print(f'{xo:.5f}')
print(f'{fun(xo):.6f}')
3
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
04.05.2023, 07:02
Gdez, у Вас два вычисления функции на цикл. А у меня одно.
1
Эксперт Python
8851 / 4502 / 1864
Регистрация: 27.03.2020
Сообщений: 7,317
04.05.2023, 08:30
Catstail, Ваша правда, оптимальнее так:
Python
1
2
3
4
5
6
7
8
9
10
11
12
def half_func(a, b, f):
    x = (a + b) / 2
    fa = fx = f(a)
    while np.abs(f(x)) >= eps:
        x = (a + b) / 2
        fx = f(x)
        if fa*fx < 0:
          b = x 
        else:
          a = x
          fa = fx
    return (a + b) / 2
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.05.2023, 08:30
Помогаю со студенческими работами здесь

python 2,7 numpy scipy matplotlib
Здравствуйте народ! Только начал изучение python и сразу-же тупик какой-то!!! Хотел сохранить файл после 1 занятия, вышло сообщение...

PyCharm и библиотеки numpy/scipy/matplotlib
Вопрос. Открывает ли PyCharm community библиотеки numpy, scipy, matplotlib?

Как совместно с Flask использовать numpy и matplotlib?
Привет, столкнулся с проблемой, которая не совсем как указана в заголовке. Numpy, Matplotlib установлен. Интерпретатор его также...

Проблема с отображением графика Tkinter + numpy + matplotlib
Всем привет! Есть программа, которая строит графики по выбранным функциям и заданным границам. Все функции выполняются без ошибок, но...

Моделирование движения тел в гравитационном поле на python (scipy.odeint, matplotlib, numpy)
Я моделирую движение вокруг Солнца с помощь python (scipy.odeint), строю графики с помощью matplotlib. Но мои решения не совпадают с...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru