Combining results of a 3D array
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi everyone,
I have a series of ND arrays of the same size filled with zeroes and ones. I want to combine the array with the following rules:
If at the X and Y position for all arrays there is a zero, the final array will be a zero. If there is a 1 at any location, the final array will have a 1 at that location.
However, I am getting an error message of 'Attempt to grow array along ambiguous dimension.
This is the logic of the code I have so far:
% Assuming S is an array of arrays (implies M x N x P)
% M - number of rows
% N - number of columns
% P - number of such matrices
p = 1;
while (some condition holds true)
S(:,:,p) = (M - y).^2 + (N - x).^2 <= radius.^2;
p = p+1;
update_of_condition;
end
D = zeros(M,N);
index1Loc = sum(S,p-1) ~= 0;
D(index1Loc) = 1; %this is where the error of 'Attempt to grow array along ambiguous dimension.' occurs
0 commentaires
Réponse acceptée
James Tursa
le 26 Mar 2020
Is any(S,3) what you want?
2 commentaires
James Tursa
le 26 Mar 2020
Use a small example and see if it does what you want. The result will be a 1 if any of the 3D spots is a 1, and 0 otherwise.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!