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

Нахождение параметра

10.03.2024, 10:21. Показов 1011. Ответов 5

Студворк — интернет-сервис помощи студентам
Есть функция, заданная таблично.
Надо найти z_0 такое, что delta_x=0. Это я сделал:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import math
import numpy as np
import matplotlib.pyplot as plt
 
# Исходные данные
z = np.array([0, 0.01, 0.02, 0.04, 0.06, 0.08, 0.1, 0.14, 0.18])
delta_x = np.array([-1032, -1012.721, -968.3837, -799.7408, -580.272, -368.2734, -202.092, -31.10915, 11.3538])
 
# Построение точек
plt.plot(z, delta_x, 'o')
plt.xlabel('z')
plt.ylabel('delta_x')
plt.grid()
plt.show()
 
# Нахождение приближенного значения z_0
z_0 = np.interp(0, delta_x, z)
print('z_0 =', z_0)
Потом по формулам, которые нам дали, нужно методом перебора вычислить b, при котором f(b)=0
Моя попытка:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def integral(b): #интеграл от 0 до H=0.18
    int_z = 0; z = 0
    for i in range(18):
        int_z += math.exp(-(z ** 2 / b ** 2))
        z += 0.01
    return int_z * 0.01
 
 
def f(b):
    return math.exp(-(z_0 ** 2 / b ** 2)) * 0.18 - integral(b)
 
 
b = 0.01; func = f(b)
 
while func * f(b) > 0:
    b += 0.01
    func = f(b)
 
b = (2 * b - 0.01) / 2
 
print("b =", b)
Считает до бесконечности, не могу найти ошибку, формулы точно переписаны правильно
Знаю, что в ответе b должно получится 0.08
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2024, 10:21
Ответы с готовыми решениями:

Нахождение параметра альфа
Привет! Имеется программа изменения яркости using System; using System.Collections.Generic; using System.ComponentModel; using...

Решение задачи на нахождение параметра полинома
1.При каких значениях параметра \lambda квадратичная форма (\lambda -2)*{x}_{1}^{2}+(\lambda -3)*{x}_{2}^{2}+(2*\lambda...

Плотность распределения случайной величины Х. Нахождение параметра А
Помогите, пожалуйста. Верно ли я раскрываю модуль. Вот что дано. P(x)={Acos(x),|x|<=П/2 ...

5
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
10.03.2024, 11:38
Цитата Сообщение от xd000 Посмотреть сообщение
func * f(b) > 0:
Имя переменной неудачно названо.

Давай угадаю:
Python
1
2
>>> 0.005 * 0 > 0
False
0
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 31
10.03.2024, 11:57  [ТС]
Ну и в чем проблема то..
Мне как раз False и надо
0
Модератор
Эксперт С++
 Аватар для zss
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
10.03.2024, 13:17
Числа с плавающей запятой нельзя сравнивать на равно
А вот это
Цитата Сообщение от xd000 Посмотреть сообщение
while func * f(b) > 0:
фактически является сравнением с нулем
Python
1
   while func * f(b) > 1e-10:
1
0 / 0 / 0
Регистрация: 09.11.2022
Сообщений: 31
10.03.2024, 14:42  [ТС]
Спасибо, изменил, но выдает ответ b = 17.975000000000012
Еще почему именно - 10? При например -15 ответ очень меняется, не понимаю почему
0
Модератор
Эксперт С++
 Аватар для zss
13770 / 10963 / 6491
Регистрация: 18.12.2011
Сообщений: 29,240
10.03.2024, 19:06
xd000, а почему бы не использовать просто
Python
1
2
3
while abs(func) > 1e-10:
    b += 0.01
    func = f(b)
10-10 - Это будет точность с которой ищется значение b.

Однако, я только сейчас обратил внимание, что интеграл-то Вы ищете с шагом 0.01
Поэтому и точность подсчета имеет такой же порядок.
И правильного результата, думаю, так не получить.
Интеграл надо считать с большей точностью.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.03.2024, 19:06
Помогаю со студенческими работами здесь

Нахождение параметра а для максимизации площади между графиками
Пусть задан многочлен f(x) = -9ax^2 + 8a - 9x^3 + 8x y = -x + a a находится на промежутке Нахождение параметра а для...

Нахождение среди выполняющихся процессов имён процессов, у которых значения параметра WorkingSet одинаковы
Необходимо создать командлет, который находит среди выполняющихся процессов имена процессов, у которых значения параметра WorkingSet...

Параметры конкаррента: как сделать обязательность параметра зависимой от другого параметра?
Добрый день! Ситуация - параллельная программа имеет два параметра, устанавливаемых пользователем: Параметр_А - не обязательный,...

Сценарий, обеспечивающий чтение из реестра содержимого любого раздела, параметра и значения параметра
Помогите написать сценарий, обеспечивающий чтение из реестра содержимого любого раздела, параметра и значения параметра. Заранее...

Построить график зная градиенты 1-го параметра для различных интервалов значений 2-го параметра
Здравствуйте! Встала задача построить график зная градиенты 1-го параметра для различных интервалов значений 2-го параметра. Пример в...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru