hi ich arbeite an einem fuzzy-regler auf nem ATmega8. bis jetzt läufts recht gut, nur hab ein problem bei der komposition: ich bekomm von der inferenz zwei arrays mit max. 4 werten (singleton und grad der aktivierung). für die, die mit fuzzy-logic nicht so vertraut sind: ich bekomme als ausgabe quasi ein zweidimensionales koordinatensystem mit x[4] und y[4], wobei x wertdiskret ist (7). das problem ist, dass, wenn zwei oder mehr werte in x[] gleich sind, das größte zugehörige y[] ermittelt werden muss. bsp: x[20,10,20,30]; y[ 5, 1, 4, 3]; -> 10|1;20|5;30|3 x[10,10,10]; y[ 2, 4, 8]; -> 10|8 ich hab in der schule schon anregungen in richtung bubblesort bekommen, jedoch weis ich nicht so recht, wie ich dann das sortierte x[] mit dem y[] möglichst sparsam auswerten kann ich hoffe ich hab mich verständlich ausgedrückt thxia
Bei nur vier Werten ist Bubblesort absoluter Overkill...
1 | int maximum_y=0; |
2 | for (i=0; i<4; ++i) { |
3 | if (x[i]==10 /* oder dein wert halt */ && y[i]>maximum_Y) { |
4 | maximum_y=y[i]; |
5 | }
|
6 | }
|
... /Ernst
bei so ner einfachen lösung wirds fast schon peinlich... aber da nichtmal zwei dipl.ing. in der schule draufgekommen sind :D also vielen dank!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.