# Delete specific rows in a multidimensional matrix

조회 수: 2(최근 30일)
David Ponce 23 Oct 2018
편집: James Tursa 24 Oct 2018
Hello, I have a problem with deleting rows in my multidimensional matrix. The thing is that I have a matrix A 800X1X100 with angles and i have to delete the rows that meet the condition. Here is my code:
for k=1:1:100
if(or(Z(k,1,:)>=230,Z(k,1,:)<=330))
Z(k,1,:) = [];
end
end
here is the error: A null assignment can have only one non-colon index.
Thank you.

#### 댓글 수: 1

David Ponce 23 Oct 2018
same error, but thanks for the answer.

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

### 답변(1개)

gonzalo Mier 24 Oct 2018
The solution for your problem could be:
Z=rand(800,1,100)*400;
for(k=800:-1:1)
if(or(Z(k,1,:)>=230,Z(k,1,:)<=330))
Z((k-1)*100+(1:100)) = [];
Z = reshape(Z,[],1,100)
end
end
or use the squeeze function to make Z shape [800,100]

#### 댓글 수: 1

David Ponce 24 Oct 2018
Thanks for the answer, but now I know the problem, the thing is that I have to reshape my multidimensional matrix as I go deleting the rows. I have this:
for m=1:1:size(Z,3)
for n=1:1:size(Z,1)
if(and(Z(n,1,m)>=230 , Z(n,1,m)<=330))
Z(n,1,m) = []; %here is the problem i have to reshape
end
end
end

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

### Community Treasure Hunt

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

Start Hunting!