Мой вопрос очень ясен. У меня есть объектная функция в MATLAB. Например, у меня есть f = @ (x) (x (1) + x (2) * K) + что-то еще. Поскольку объектная функция длинная и сложная, я хотел бы заранее определить некоторые переменные и заменить их в целевой функции. Например, я хотел бы установить M = x (1) + x (2), чтобы написать M * K в целевой функции. Я пробовал M = @ (x) x (1) + x (2) и подставлял в целевую функцию, но не работал. Любые идеи, пожалуйста? С уважениемОпределите переменную, прежде чем поместить ее в объектную функцию
-4
A
ответ
1
Если ваша целевая функция является сложной, определить его в виде отдельного М-файла, например:
function [out1 out2 out3] = complex_cost_fn(in1, in2, in3, in4, in5)
%%COMPLEX FUNCTION WITH MULTIPLE SUBFUNCTIONS
end
function cost1 = fn1(in1, in3, ..)
.....
end
function gradients = fn2(in2, in4, ..)
....
end
Затем определите ручку:
my_cost = @(in1, in2, in3) complex_cost_fn(in1, in2, in3, in4, in5);
где «in1, in2, IN3 "- ваши входные аргументы, которые вы будете поставлять входы" my_cost "и" in4, in5 ", которые инициализируются один раз при создании дескриптора.
Затем вы можете передать «my_cost» в другую функцию, если это необходимо, и называют его:
[out1 out2 out3] = my_cost(in1, in2, in3);
Смежные вопросы
- 1. Что значит заключить функцию в круглые скобки, прежде чем передавать ее в переменную?
- 2. Определите функцию, назовите ее «CHECK» в схеме
- 3. Невозможно увеличить объектную переменную?
- 4. Поместить переменную SESSION в переменную и использовать ее глобально
- 5. Как проверить систему, прежде чем перезагружать ее?
- 6. свяжите текстуру, прежде чем нарисовать ее (webgl)
- 7. Как поместить переменную C++ в функцию system()
- 8. Определите переменную в репитере?
- 9. Применить агрегированную функцию, прежде чем принимать критерии.
- 10. Подождите, прежде чем запускать функцию JavaScript
- 11. Определите переменную Variable и используйте ее в $ _POST
- 12. Зачем мне обматывать анонимную функцию в скобках, прежде чем вызывать ее в Javascript?
- 13. Как я могу загрузить функцию в JS, прежде чем я ее вызову в первый раз?
- 14. SSIS конвертировать объектную переменную в строку
- 15. Невозможно прочитать объектную переменную в ssis
- 16. Получение объектную переменную из списка в C#
- 17. Почему мы не можем инициализировать локальную переменную, прежде чем объявлять ее в отличие от статической переменной?
- 18. Определите PHP-функцию в XSL и вызовите ее. Возможное? Как?
- 19. безопасная переменная php, прежде чем вставлять ее в базу данных
- 20. Ищете стандартную икону Haskell, прежде чем я ее реализую
- 21. Как я могу выполнить функцию slideUp() в форме, прежде чем я покажу ее пользователю?
- 22. Arduino & C: поместить функцию и глобальную переменную во внешний файл
- 23. Определите переменную и используйте ее во всех подфункциях на Matlab
- 24. Как использовать глобальную переменную формы, чтобы поместить ее в панель?
- 25. Прежде чем передать указатель на функцию, я должен инициализировать ее всегда?
- 26. Возможно ли, чтобы Facebook просмотрел концепцию, прежде чем строить ее?
- 27. Как поместить функцию и ее вызов в один файл?
- 28. Повторите анимацию 2 или 3 раза, прежде чем ослабить ее
- 29. Изменение цвета элемента навигации ящика, прежде чем нажать ее
- 30. Проверьте, не сломалась ли трубка, прежде чем пытаться ее написать?
Уважаемый mikesapi, спасибо за ответ, но я не уверен, если я понимаю правильно. Итак, следуя приведенному выше примеру, я имею: function [x] = objfun (K) @ (x) f = [x (1) + x (2)] * K (x) end. Теперь я хочу переписать целевую функцию следующим образом: @ (x) f = M * K (x), где M = x (1) + x (2). Что мне нужно сделать? –
Мое предложение - переформулировать, как вы хотите это сделать. Создайте функцию в отдельном M-файле, который вычисляет цель, учитывая некоторые входные переменные - затем определите дескриптор для нее. – mikesapi