Мой вопрос: Как я могу выполнить что-то вроде понимания List в Matlab, похожего на Haskell или Python? Для выполнения функции в Matlab, как показано ниже:Как я могу выполнить что-то наподобие List в Matlab?
for xxx
if condition
expression1;
else
expression2;
end
end
Моя первоначальная цель, чтобы сделать использование векторизованных операций и снизить для цикла в моем коде, чтобы сделать его работать быстрее.
РЕДАКТИРОВАТЬ: Я надеюсь, что ответ не нужен, что-то связанное с arrayfun, метод векторной операции более приветствуется.
Существует еще один вопрос, связанный с этим вопросом (через функцию с именем «arrayfun»). Анонимная функция в швах Matlab должна быть только 1 строка, то как я могу написать выражение if-else в ней?
Спасибо всем ~~
Быстрее вводить или быстрее выполнять? Потому что детали того, выполняются ли для циклов, списков или векторизованных операций, очень быстро зависят от отдельного языка. – Marius
Если речь идет о производительности, вы должны определенно сравнить оба решения. 'for' обычно намного быстрее, чем' arrayfun'. –
подобные вопросы: http://stackoverflow.com/q/16555724/97160, http://stackoverflow.com/q/8327013/97160, http://stackoverflow.com/q/9993189/97160, HTTP: // переполнение стека.com/q/10918404/97160 – Amro