Comparing vector elements by percentage
Afficher commentaires plus anciens
Angle=[5 10 20 60 180 190 195 300 310], these angles determine the possible directions of robots. If there are 2 robots starting with the same angle or plus minus 5%(5 degrees) they will make collision. I'd like to have the result in on vector such that:[2 2 1 1 1 2 2 1 1]. Any help?
5 commentaires
Geoff Hayes
le 1 Nov 2015
yousef - why will two robots collide if they have similar directions? Won't their starting position and speeds also impact whether they collide or not?
yousef Yousef
le 1 Nov 2015
yousef Yousef
le 1 Nov 2015
Stefan Raab
le 2 Nov 2015
Modifié(e) : Stefan Raab
le 2 Nov 2015
Hello,
the codeline
collision(i)= Angle(inToleranceIndexes)
won't work, if inToleranceIndexes has more than one value==1. Then Angle(inToleranceIndexes) i.e. is [300 310] and you can't assign a vector to a single element as you do with collision(i).
But a question in general: You say tolerance is 0.05*targetValue, that means your tolerance increases with increasing start-angle. Is this really how it is supposed to be?
Best regards, Stefan
yousef Yousef
le 2 Nov 2015
Réponses (1)
Image Analyst
le 2 Nov 2015
0 votes
As mentioned in your duplicate question there will be no collision unless you have different starting points. And all your code does is tell you that each angle interferes/collides with no other angle except itself, which is pretty useless.
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!