|
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 53
|
||||||||||||||||||||||||||||||||||||
Не получается передать tuple в функцию scipy.fmin_powell23.11.2022, 03:11. Показов 515. Ответов 3
Метки нет (Все метки)
Задача стоит так: найти минимум функции, реализовав метод многомерной оптимизации Коши, который сводится к одномерной оптимизации, причем для одномерной оптимизации использовать функцию scipy.optimize.fmin_powell
В функцию fmin_powell входят аргументы: функция, ndarray начальных значений тех переменных, по которым ведется оптимизация, tuple прочих аргументов, по которым оптимизация не ведется, а также прочие необязательные аргументы (см. https://docs.scipy.org/doc/sci... owell.html). В коде я задаю функцию f(X), где X=[x1, x2], F1(X) и F2(X) (ее производные, как того требует метод Коши), функцию fXNew получения аргумента на новой итерации метода Коши и - функцию одномерной оптимизации FindMin (которая служит для передачи в в fmin_powell). Она принимает 2 аргумента: alfa -тот, по которому ведется одномерная оптимизация, (он в методе Коши служит параметром, по которому формируются аргументы X функции f(X) на следующей итерации), и сами эти аргументы X. И подставляю в fmin_powell: FindMin, alfa, X. Вот тут-то и пишет ошибку! Код такой:
Причем исходит эта ошибка не из моего файла, а из библиотечного файла optimize.py Но почему б ему не дописать в tuple новый элемент типа list? И как написать правильно? Тогда я поступил по-другому. Теперь функция FindMin принимает один аргумент - P, и внутри этой функции срезами она разделяется на alfa и X. Теперь:
И... опять проблема с fmin_powell - пишет:
Но чего ж он теперь про tuple не пишет? В библиотечной функции это ж должен быть tuple! Если я в main вместо
Притом что пример по приведенной выше ссылке работает:
Подскажите, как правильно в нее аргументы передать и как правильно мою функцию FindMin перестроить!
0
|
||||||||||||||||||||||||||||||||||||
| 23.11.2022, 03:11 | |
|
Ответы с готовыми решениями:
3
Не получается передать структуру в функцию
|
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
|
| 23.11.2022, 05:25 | |
|
Просит кортеж, а вы упорно ему список подсовываете.
1
|
|
|
1 / 1 / 0
Регистрация: 19.01.2013
Сообщений: 53
|
||||
| 23.11.2022, 20:53 [ТС] | ||||
|
0
|
||||
|
4523 / 1899 / 336
Регистрация: 18.01.2021
Сообщений: 3,489
|
||||||
| 23.11.2022, 22:19 | ||||||
Сообщение было отмечено aviacheslav как решение
Решение
aviacheslav, вы вот здесь
alfa=fmin_powell(FindMin, P) в качестве начального значения даете кортеж из скаляра и кортежа. Начальное значение должно быть массивом, т.е состоять из однотипных объектов. Добавлено через 21 минуту Во второй версии своего кода вы начали творить вообще полную дичь. А вам требовалось всего лишь обернуть список в кортеж. 58-я строка:
1
|
||||||
| 23.11.2022, 22:19 | |
|
Помогаю со студенческими работами здесь
4
Не получается передать массив в функцию.
Не получается передать аргументы в функцию Не получается передать парметры через функцию Не получается передать строку в функцию по указателю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|