2014-09-13 5 views
0

Какую замену мы можем использовать вместо symsum в коде CVX в Matlab? Я хочу использовать двойное суммирование без использования цикла, и symsum кажется единственной доступной опцией.Замена symsum

+0

Показать код. Или пример того, что вы имеете в виду. Вы суммируете до бесконечности или фиксированной стоимости? Я предполагаю, что 'symsum' возвращает числовой результат, а не выражение закрытой формы для вашего суммирования. – horchler

ответ

0

Если вы способны векторизации вашей функции, используя sum это самый быстрый вариант:

sum([1:10].^2) %sum all squares from 1 to 10 

Если это не представляется возможным, объединить arrayfun и сумму:

[email protected](x)(x^2) 
sum(arrayfun(f,1:10))%sum all squares from 1 to 10