Форум программистов, компьютерный форум, киберфорум
Наши страницы

Python: научные вычисления

Войти
Регистрация
Восстановить пароль
 
ilya0610
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 322
#1

Создание ссылки на функцию и использования функции minimize_scalar - Python

10.12.2016, 08:09. Просмотров 311. Ответов 3
Метки нет (Все метки)

Здравствуйте, вопрос такой, как создать ссылку на функцию, в которой лежат некоторое количество функций и потом полученную функцию использовать, для применения minimize_scalar для максимизации по параметру L?
Вот пример самой функции
Python
1
2
3
4
5
6
7
8
9
def find_Length(L):
    n = 40
    H = 3
    nodes_all = node(n, L, H)
    el = elements(n)
    K = matrix_K(nodes_all, el)
    smech = force(K, nodes_all,L,n)
    stresses = find_stresses(nodes_all,smech,el)
    return (-1)*(abs(max(stresses)))
Создание ссылки:
Python
1
2
def find_L(L):
    return find_Length
Использование функции для максимизации:
Python
1
2
res = minimize_scalar(find_L, bounds = (1, 8), method='bounded')
print(res)
Только почему-то еще вылетает ошибка при использование minimize_scalar, с чем это может быть связано?
TypeError: unorderable types: function() <= function()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2016, 08:09
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Создание ссылки на функцию и использования функции minimize_scalar (Python):

Пример использования внешней ссылки в функции ДВССЫЛ - MS Excel
Так и не нашёл в интернете, как записать в ячейку внешнюю ссылку. Например, в ячейке &quot;A1&quot; находится внешняя ссылка, а в ячейке &quot;B1&quot;...

Создание ссылки на функцию - C++ Builder
Осваиваю с++ и borland с++ в частности совсем недавно, столкнулся с проблемой создания ссылки на функцию/процедуру. Делаю так: typedef...

Создание функции для использования в виде Y = Fn(X) - Firebird/InterBase
Снова я с простыми вопросами. Нужно написать non-selectable процедуру, которая будет возвращать единственное значение, чтобы его можно...

Создание DLL и использования его в математической функции - Assembler
В VS 2013 создал а асемблере никак ((

Создание ссылки и возврат из функции - C++
Есть вот такая функция, возвращает максимальный элемент. template &lt;typename Type&gt; inline const Type max_(const Type&amp; a, const Type&amp; b) ...

Создать функцию вычисления степени числа с показателем (без использования функции pow) - C++
Создать функцию вычисления степени натурального числа с натуральным показателем (без использования функции pow) и вычислить с ее помощью...

3
vrm2
263 / 169 / 35
Регистрация: 03.12.2015
Сообщений: 295
Завершенные тесты: 2
12.12.2016, 00:59 #2
Не совсем понятно, чего Вы хотите получить.

Функция, передаваемая в minimize_scalar должна возвращать скаляр. Поэтому следует передавать непосредственно функцию find_Length.

Либо можно исправить фукцию find_L, чтобы она возвращала скаляр. При этом новая функция может использовать любые другие функции. Но нужно вызвать их, а не возвращать ссылку на функции.

Python
1
2
def find_L(L):
    return find_Length(L) # возвращаем результат find_Length, а не саму функцию
0
ilya0610
1 / 1 / 0
Регистрация: 18.11.2013
Сообщений: 322
12.12.2016, 08:45  [ТС] #3
vrm2, у меня уже получилось, получилось вот так
Python
1
2
res = minimize_scalar(lambda L: find_Length(L), bounds = (1, 8), method='bounded')
print(res)
0
vrm2
263 / 169 / 35
Регистрация: 03.12.2015
Сообщений: 295
Завершенные тесты: 2
12.12.2016, 08:49 #4
Можно и так:
Python
1
minimize_scalar(find_Length, bounds = (1, 8), method='bounded')
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2016, 08:49
Привет! Вот еще темы с ответами:

Ссылки & функции(Создать функцию, вычисляющую максимальный и минимальный элементы вектора) - C++
Помогите решить или просто объясните - зачем надо использовать именно ссылку? почему нельзя использовать сразу саму переменную, а следует...

решение задачи двумя способами без использования функции и с использованием функции - Visual Basic .NET
Помогите(( Вычислить значение: z = min(a,3b)*min(2a-b,2b) где min(x, y) – минимальное из чисел x и y. Задачу...

Вычислить x, без использования функции и с использованием функции - Visual Basic .NET
Вычислить x, без использования функции и с использованием функции: x=((sin2-cos3/2+3)+(sin1-cos5/1+5)+(sin7-cos4/7+4))

Записать функцию без использования указателей - C++
опять же всем доброго времени суток. знаю, что задание немного странное, но таково оно и есть. надо записать функцию без использования...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru