2014-06-25 75 views
0

Suposse接下來的兩個變量:如何評價多個參數,並得到與cellfun多個輸出在MATLAB

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

這很容易與arrayfuncellfun。第一個計算C1,並從那個計算C2

C1 = arrayfun(@(k) B{k}(A{k}), 1:size(A,1), 'UniformOutput', false); 
C2 = cellfun(@mean, C1);