接下来的两个变量:
A={[];[1 2];[3]};
B={[10 20 30];[40 50 60];[70 80 90]};
我需要得到C1和C2,他们是:
C1={[];[40 50];[90]}; % Corresponding value B(A), like B{2,1}([1 2])=[40 50];
C2={[];[45];[90]}; % Mean, like for ex: mean(B{2,1}([1 2]))=mean([40 50])=45;
正如您所看到的,我需要使用 cellfun 制作一些东西,但我不知道如何评估两个或更多输入参数,并且有两个或更多输出。
像:
[C1,C2]=cellfun(@function,A,B)
我真的很感激任何信息,谢谢!
答案 0 :(得分:0)
arrayfun
和cellfun
很容易。首先计算C1
,然后从该计算C2
计算:
C1 = arrayfun(@(k) B{k}(A{k}), 1:size(A,1), 'UniformOutput', false);
C2 = cellfun(@mean, C1);