У меня есть этот кусок кода, который работает, но довольно громоздко.У него есть один аргумент, который является массивом ячеек, и в каждой ячейке есть вектор double.Все векторы имеют одинаковый размер.Мне нужно вызвать функцию на выходе функции этой переменной.Например, здесь я вызываю log () для всех членов в двойном векторе, затем вызываю sum () для суммирования всего.В реальном коде количество ячеек намного больше.Есть ли способ упростить это без использования петель?Спасибо!
>> cell_of_double{:}
ans =
0.3140
0.7160
0.6925
0.4265
0.8875
0.5785
0.7185
0.3275
0.3030
0.5745
0.7435
0.6930
0.7290
0.5660
0.2750
ans =
0.3620
0.3580
0.4760
0.5560
0.3245
0.3785
0.8805
0.7600
0.7580
0.5435
0.4985
0.5830
0.6155
0.8010
0.6150
>> cell_of_double
cell_of_double =
[15x1 double]
[15x1 double]
>> sum(cellfun(@sum, cellfun(@(x) sum(arrayfun(@log, x)), cell_of_double(:), 'UniformOutput', false)))
ans =
-18.6004