Finding nanmedian of a 3D array.

5 views (last 30 days)
Hi I have a 3D array and I am trying find the median with nans excluded. I used the nanmedian function but i get the error 'Unexpected MATLAB expression'for the line I have commented out. Could you tell me why? How can i make it right?
for i=1:size(tempBeforeDelam,1)
%
for j=1:size(tempBeforeDelam,2)
%
if(abs((tempBeforeDelam(i,j,1)-tempBeforeDelam(i,j,2)))< 1 && abs((tempBeforeDelam(i,j,2)-tempBeforeDelam(i,j,3))) < 1 && abs((tempBeforeDelam(i,j,3)-tempBeforeDelam(i,j,4))) < 1 && abs((tempBeforeDelam(i,j,4)-tempBeforeDelam(i,j,5))) < 1 && abs((tempBeforeDelam(i,j,5)-tempBeforeDelam(i,j,1))) < 1)
%
% beforeDelam(m,n)= nanmedian[tempBeforeDelam(i,j,1) tempBeforeDelam(i,j,2) tempBeforeDelam(i,j,3) tempBeforeDelam(i,j,4) tempBeforeDelam(i,j,5)]
%
end
end
end

Accepted Answer

Sean de Wolski
Sean de Wolski on 9 Jun 2015
You have brackets [] instead of parenthesis ()
This should do it; you can use 1:5 and take nanmedian along third dimension to avoid unrolling the pieces:
beforeDelam(m,n)= nanmedian(tempBeforeDelam(i,j,1:5),3)
Also note that in 15a, median now has an 'omitnan' flag so you can use it instead.
median(tempBeforeDelam(i,j,1:5),3,'omitnan')
  1 Comment
Snehalatha
Snehalatha on 9 Jun 2015
Hey I tried omitnan it doesnt work for me because i have 2014b version.
I have one more question. If I want to use the same nanmedian to find out median of i and j through the 5 sheets would i write as follows?
%gives median for column1 over the 5 sheets
beforeDelam(m,n)= nanmedian(tempBeforeDelam(i,j,1:5),1);
n=n+1;
%gives median for column2 over the 5 sheets
beforeDelam(m,n)= nanmedian(tempBeforeDelam(i,j,1:5),2);
n=n+1;
%gives median for column3 over the 5 sheets
beforeDelam(m,n)= nanmedian(tempBeforeDelam(i,j,1:5),3);
I get the following error if i try to run the above code
Assignment has more non-singleton rhs dimensions than non-singleton subscripts
Error in loadfile (line 29)
beforeDelam(m,n)= nanmedian(tempBeforeDelam(i,j,1:5),1);

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!