My cell array has 861 rows and each row has vectors of varying sizes. I want to calculate std dev only for cells that have 20 elements. Others should give a value of 0. How do I tell cellfun to get only the cells with 20 elements. Here is my attempt

1 次查看(过去 30 天)
Stds=cellfun(@std ,ratios,'UniformOutput',false); % trying to calculate standard dev for cells for cell array 'ratios' that have 20 elements. All other cells should give 0.

采纳的回答

the cyclist
the cyclist 2018-5-22
编辑:the cyclist 2018-5-22
ratios = {rand(19,1); rand(20,1); rand(21,1)}
cellfun(@(x)std(x)*(numel(x)==20),ratios)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by