Perform operations on a cell variable

1 view (last 30 days)
Hi all,
I want to perform operations on a cell variable containing different matrices.
I have a cell variable that have 14 different matrices with different length, ie. 2*130, 2*157, etc.
For each cell, I have to perform the following operation.
c = {P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14}; % Each P is a different matrix but they are all 2*x long (ie. 130 or 157)
for i = 1:14
WW = sum(c{i},1)>=median(c{i}),1); & sum(c{i},2) >=median(c{i},2); % Condition, my WW variabel should be 1*14 in size, containing the sum of amount of columns that satisfy the condition
end
I know this is dead wrong, but I just want to give you guys an indication of what I want.
Basically, I need my WW to contain the amount of columns that satisfy the condition mentioned in the code. So WW will be the total amount of rows that satisfy the condition.
I want to find the amount of columns that are larger than the median in both row 1 and 2.
Do anyone have a good solution for this?
Kind regards
Anton

Accepted Answer

Mehmed Saad
Mehmed Saad on 13 Apr 2020
  5 Comments
Anton Sørensen
Anton Sørensen on 13 Apr 2020
Edited: Anton Sørensen on 13 Apr 2020
Hi again Muhammad,
Do you have an idea on how to fix the following:
c = {P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14};
med_1 = cellfun(@median,cellfun(@(x) x(1,:),c,'UniformOutput',false),'UniformOutput',false);
med_2 = cellfun(@median,cellfun(@(x) x(2,:),c,'UniformOutput',false),'UniformOutput',false);
WW =sum(cellfun(@(x) x(1,:),c,'UniformOutput',false)>=med_1) & sum(cellfun(@(x) x(2,:),c,'UniformOutput',false)>=med_2) ;
I keep getting this error message: Undefined function 'ge' for input arguments of type 'cell'.
Thanks.
Anton Sørensen
Anton Sørensen on 13 Apr 2020
Hi again,
I found a solution.

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!