Azzera filtri
Azzera filtri

How to allow a single overlap during chain growth?

1 visualizzazione (ultimi 30 giorni)
I have this code which doesn't allow any overlaps between chain segments. How can I modify it to allow a single overlap only.
Trajectory = [x+1 y;x-1 y;x y+1;x y-1];
check=reshape(old_steps(:,i),2,m/2)';
position=setdiff(Trajectory,check,'rows');
  4 Commenti
Guillaume
Guillaume il 3 Nov 2019
Can there be any duplicate row in Trajectory?
Soma
Soma il 3 Nov 2019
No, Trajectory should be always unique. The duplication should be in check only.

Accedi per commentare.

Risposta accettata

Guillaume
Guillaume il 3 Nov 2019
Modificato: Guillaume il 3 Nov 2019
%this code only works if rows of Trajectory are unique
[intraj, where] = ismember(check, Trajectory, 'rows'); %find which row of check are in Trajectory and which row they match
trajcount = accumarray(where(intraj), 1, [size(Trajectory, 1), 1]); %and compute the histogram of the rows found in Trajectory
position = Trajectory(trajcount == 1, :); %to get the rows that are only once in check
%or
position = Trajectory(trajcount <= 1, :); %to get the rows that are not in check or just once

Più risposte (0)

Tag

Non è stata ancora inserito alcun tag.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by