how can I cancel repeated results?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi
how can I cancel repeated results??? here a function result st
s =
-2 2 -1
s =
-2 -2 1
s =
-2 2 -1
s =
0 0 3
s =
0 0 -3
s =
0 0 3
s =
0 0 -3
here s in the for loop
and unique(s,'rows') doesn't work
I know, because of the 'rows', not change anything here but I want to save same variables in the row...
4 commentaires
Azzi Abdelmalek
le 19 Mai 2013
What do you mean by cancel repeated result. s is a 1x3 array, each step the old s is erased by the new s. post your for loop and explain what is the expected result
Réponse acceptée
Andrei Bobrov
le 19 Mai 2013
s = bsxfun(@times,M,vector);
sout = unique(s,'rows','stable');
0 commentaires
Plus de réponses (2)
Azzi Abdelmalek
le 19 Mai 2013
Modifié(e) : Azzi Abdelmalek
le 19 Mai 2013
If
s ={{-2 2 -1},{-2 -2 1},{-2 2 -1},{0 0 3},{0 0 -3},{0 0 3},{0 0 -3}}
Then
out=unique(cell2mat(cellfun(@cell2mat,s','un',0)),'rows')
Or if
s ={-2 2 -1;-2 -2 1,;-2 2 -1;0 0 3;0 0 -3;0 0 3;0 0 -3}
Then
out=unique(cell2mat(s),'rows')
0 commentaires
Azzi Abdelmalek
le 19 Mai 2013
M = [1 1 1; 1 1 -1; 1 -1 1; 1 -1 -1; -1 1 1; -1 1 -1; -1 -1 1; -1 -1 -1];
rowM=zeros(1,3);
vector=[1 0 1]
for p=1:size(M,1)
rowM(:)=M(p,:);
s{p,1}=(rowM.*vector)
end
out=unique(cell2mat(s),'rows')
0 commentaires
Voir également
Catégories
En savoir plus sur Whos 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!