finding places where an array are equal to zero and replacing them accordingly

조회 수: 3 (최근 30일)
I have written some code, however, due to the fact that my alogirthm is really quite complicated it is hard for me to see if my code is working
I Have a 16x16x16 array and I want to find the places where that array = zero;
I have done this in the following way ind = A == 0
I then want to create a new array which takes values from one array at the places where it is zero and values from another else where; Would this code do it?
ANEW(ind)=Adashup2new(i,j,k);
ANEW(~ind) = MAT(i,j,k);
  댓글 수: 2
Lokesh Ravindranathan
Lokesh Ravindranathan 2013년 6월 26일
Could you provide an example of what you are attempting to do? I understand that you have found the indices where the values are zeros. Could you explain what the variables are, ANEW and Adashup2new w.r.t. A?
Bran
Bran 2013년 6월 26일
So I want to create a new array called ANEW which has the same dimensions as A At the indices where A is zero I want it to instead take values from an array called Adashup2new and for all other indices I want it to take values from an array called MAT.

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

채택된 답변

Image Analyst
Image Analyst 2013년 6월 26일
Try this:
% Initialize ANEW to MAT.
ANEW = MAT;
% Find zero values;
zeroIndexes = A == 0;
% Replace ANEW values at zeroIndexes with values from Adashup2new
ANEW(zeroIndexes) = Adashup2new(zeroIndexes);
Adashup2new must be the same dimensions as A, ANEW, and MAT.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by