Форум программистов, компьютерный форум, киберфорум
Python: Научные вычисления
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 18
1

Выбор максимального значения среди всех возможных реализаций формулы

10.12.2017, 16:16. Показов 708. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток, уважаемые форумчане!

Имеется длиннющая формула (приведена во вложении, как вставить её картинкой в текст я не поняла). Не будем вдаваться в подробности и сократим её до вида: https://www.cyberforum.ru/cgi-bin/latex.cgi?G = {\max}_{j} (A)
Кликните здесь для просмотра всего текста

Если я правильно понимаю математический смысл данной формулы, то я должна посчитать A при всех возможных вариациях j, и выбрать максимальное значение A.
j является индексом элементов списка stability = ['A', 'B', 'C', 'D', 'E', 'F', 'G'], т.е. сatеgory_stab = stability[j].
От элементов данного списка зависит выбор параметров, по которым вычисляются составляющие формулы A. Для каждого параметра прописана своя функция, например:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def e_j(сatеgory_stab):
    global e
    if сatеgory_stab == 'A':
        e = 0.05
    elif сatеgory_stab == 'B':
        e = 0.06
    elif сatеgory_stab == 'C':
        e = 0.06
    elif сatеgory_stab == 'D':
        e = 0.12
    elif сatеgory_stab == 'E':
        e = 0.34
    elif сatеgory_stab == 'F':
        e = 0.53
    elif сatеgory_stab == 'G':
        e = 0.53
    return e


Вопрос заключается в том, как реализовать правильно функцию расчета исходной формулы G.

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

Первое, что я попробовала, это реализовать в одной функции и прокрутку списка, и расчет, и выбор максимального. Функция работает, но в вычислении появляется серьезная ошибка, т.к. список хоть и прокручивается, но только в данной функции, а параметры для расчета формулы выбираются по элементу этого же списка, который прокручивается в цикле программы перед вызовом функции met_factor().
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def met_factor():
    stability = ['A', 'B', 'C', 'D', 'E', 'F', 'G']
    periodicity = [0.08, 0.09, 0.10, 0.10, 0.12, 0.21, 0.17, 0.13]
    N = 8
    h = 120
    factor_G = []
    sch1 = 0
    while sch1 < len(stability):
        сatеgory_stab = stability[sch1]
        sch2 = 0
        while sch2 < len(periodicity):
            povtor = periodicity[sch2]
            G = (1 - k_b()) * ((2 * N * povtor) / (((2 * math.pi) ** (3.0 / 2.0)) * x)) * (
                f_istosh() / (dispersion() * modul_skor())) * math.exp(
                - ((h + podyem_strui()) ** 2) / (2 * dispersion() ** 2)) + k_b() * (
                (2 * N * povtor) / (math.pow((2 * math.pi), 3.0 / 2.0))) * (f_ist_rad() / (
                dispersion() * modul_skor() * x)) * math.exp(- (h / (2 * dispersion())))
            factor_G.append(G)
            sch2 += 1
        sch1 += 1
    return my_max(factor_G)
Очевидно, что это ошибочный путь. Решение, которое лежит на поверхности, избавиться от списка stability в программе, и оставить его только в теле функции. Однако, данное решение не приводит к успеху, т.к. функции выбора величин параметров, например, e_j(category_stab), не получают информацию о category_stab, что вполне закономерно, т.к. данная переменная стала только внутренней переменной функции.

Как правильно решить данную задачу?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2017, 16:16
Ответы с готовыми решениями:

Выбор максимального значения среди всех возможных реализаций формулы
Доброго времени суток, уважаемые форумчане! Имеется длиннющая формула (приведена во вложении,...

Нахождение максимального значения в массиве среди всех четных чисел
Работа с одномерными массивами Задание(Общее): Составить программу обработки одномерного массива...

Нахождение максимального значения в массиве среди всех элементов после первого отрицательного
Задание :Нахождение максимального значения в массиве среди всех элементов после первого...

Поиск всех возможных A и B из формулы
Есть задание: любое натуральное число N (N &gt; 7). Исходя из формулы N = 3a+5b получить все возможные...

Перебор всех возможных вариантов среди матрицы
У меня вот такая вот задача: В файле записано количество точек на плоскости и их координаты....

2
0 / 0 / 0
Регистрация: 11.11.2016
Сообщений: 18
10.12.2017, 16:46  [ТС] 2
Выбор максимального значения среди всех возможных реализаций формулы
0
Эксперт Python
4640 / 2056 / 363
Регистрация: 17.03.2012
Сообщений: 10,139
Записей в блоге: 6
12.12.2017, 16:59 3
В чём проблема?
Формула длинная, конечно, но ничего сверхъестественного в ней нет, только арифметика.
Вычисляете по всем j, находите максимальное значение. numpy несколько сократит ваш код и время выполнения.
0
12.12.2017, 16:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.12.2017, 16:59
Помогаю со студенческими работами здесь

Запрос на выбор всех возможных вариантов
Есть два поля. Список работников и к какой бригаде мастеров они принадлежат. В каждой бригаде по...

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

Генерация списка всех возможных расстановок максимального количества ладей на доске N x N клеток
Добрый вечер, я в хаскелле новичок помогите пожалуйста решить задачу о расстановке ладьей на...

В заданной матрице найти максимальную сумму элементов прямоугольной подматрицы среди всех возможных подматриц
Дан массив A. Необходимо найти с помощью функции максимальную сумму элементов прямоугольного...

Вывести значения сторон А и В всех возможных прямоугольников с заданной площадью
Дана площадь прямоугольника S (целое значение). Вывести значения сторон А и В всех возможных...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru