Finding nanmedian of a 3D array.

조회 수: 5 (최근 30일)
Snehalatha
Snehalatha 2015년 6월 9일
댓글: Snehalatha 2015년 6월 9일
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
  댓글 수: 1
per isakson
per isakson 2015년 6월 9일
편집: per isakson 2015년 6월 9일

댓글을 달려면 로그인하십시오.

채택된 답변

Sean de Wolski
Sean de Wolski 2015년 6월 9일
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
Snehalatha
Snehalatha 2015년 6월 9일
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);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Distribution Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by