Вопросы

Юля: Как получить локальные переменные в функциях для nlsolve или минимизировать

Мне было интересно, как лучше всего экспортировать локальные переменные в целевую функцию для оптимизации или линейных решателей. Например, у меня есть такая функция, как:

function example(x)
    b = sum(x)
    return b * x' * x

затем я отправляю эту функцию в минимизатор. Предположим, он сходится. Я хочу получить значение b на последней итерации. Как я могу этого добиться?

У меня есть несколько пробных решений:

globalize b с помощью аффикса const (оберните его контейнером массива). Добавьте аргумент флага, чтобы указать, следует ли выводить b, затем снова запустите функцию с индикатором. Возьмите изменяемый контейнер b в качестве аргумента и измените его как побочный эффект функции. Насколько я понимаю, глобальные переменные имеют проблемы с производительностью, поэтому я должен стараться избегать; второй подход надежен, но он требует дополнительной итерации, что не кажется очень эффективным (хотя в большинстве моих приложений стоимость достаточно низка). Сейчас я использую третий метод, и пока он работает хорошо. Однако, поскольку я новичок в Джулии, я не уверен, есть ли у нее какие-то скрытые проблемы (например, совместимость с другими пакетами, такими как ForwardDiff?).

Читать:
Отменить доступ к одной из многих баз данных в MySQL

Спасибо за любой комментарий!

Похожие записи

Как вы вызываете несколько файлов из командной строки в свое приложение?

admin

Генерация данных формата TFRecord из C +

admin

Vapor 4 PostgreSQL CRUD без HTTP-запросов

admin

Пытался обновить до PHP 8.0, и все, что было установлено композитором, даже php, не работает

admin

composeEnhancers не является функцией в ReactJS

admin

Как использовать PowerShell для удаления непустой папки в OneDrive?

admin