|
|
Wuchtempfehlung mittels MatLab |
|
gastiwasti |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.12.2014, 15:12
Titel: Wuchtempfehlung mittels MatLab
|
 |
|
 |
|
Hallo,
ich brauche mal ein wenig Hilfe, da meine MatLab Kenntnisse etwas eingestaubt sind und ich bisher kein passendes Beispiel gefunden habe. Falls jemand ein ähnliches Thema kennt gerne verlinken.
Also folgendes Problem:
Auf einen Rotor müssen 12 Körper geschraubt werden (feste Position). Diese einzelnen Körper haben jedoch immer ein unterschiedliches Gewicht. Damit das Auswuchten des Rotos später leichter fällt, habe ich mir überlegt, vorher schon eine gute Anordnung der Körper zu wählen.
Meine Bisherige Idee ist es:
1. Die Gewichte der Körper abzufragen
S1=12g
S2=23g
...
S12=23g
2. Gewichte in einer Matrix zu speichern und sortieren
S=[S1;S2;...;S12]
S=sortrows
3. Paare zu bilden, die ein geringen Gewichtsunterschied haben, also wenn alle sortiert sind in der Reihenfolge
P1=[S(1);S(2)]
P2=[S(3);S(4)]
...
4. jetzt kommt eine Schleife, die für alle Anordnungspositionen durchgerechnet wird:
5. Schwerpunkt berechnen
6. Schwerpunkt abgleichen mit vorherigem Wert und ggf. abspeichern.
7. Schwerpunkt ausgeben mit jeweiliger Anordnung
Jetzt zu meinem Problem. Wie kann ich in der Schleife, alle möglichen Anordnungen berechnen. Also ansich müsste es da ja !6 = 720 verschiedene Möglichkeiten geben.
Da hänge ich einfach ein bischen fest, wäre super, wenn da jemand ne Idee hätte.
Vielen Dank schonmal fürs durchlesen und grübeln
|
|
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 10.12.2014, 17:58
Titel:
|
 |
hallo
ich würde die position der körper vieleicht als zahl kodieren.
alle möglichen kombinationen giebt es dann mit
bei nur 6 positionen geht das noch gut. wenn es mehr werden wird das natürlcih dann schnell mehr
_________________
richtig Fragen
|
|
|
gastiwasti |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 12.12.2014, 12:23
Titel:
|
 |
Hey Winkow, vielen dank für die Idee.
Was meinst du damit, die Position als zahl zu kodieren?
Also statt
S1=23g;
1=23g;
?
Die nächste Frage, die ich mir stelle ist, wie speichere ich gleichzeitig nciht nur die beste Schwerpunktlage ab, sondern auch die dazugehörige Anordnung?
|
|
|
gastiwasti |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2014, 09:41
Titel:
|
 |
so ich habe nochmal ein wenig rumprobiert.
Mittlerweile speichere ich die einzelnen Gewichte in einer Matrix und kann mit "perms" davon jede mögliche Kombination erstellen. soweit so gut.
Jetzt habe ich nur das Problem. Wie ich die 6Paare und die 12 Positionen berücksichtige. Also ein Paar hat ja ein resultierendes Gewicht/Schwerpunkt, aber dieser kann ja immernoch auf 12Positionen verteilt werden. Da komme ich gerade iwie nicht weiter. Hat jemand da ne Idee?
Wäre für Hilfe wirklich dankbar.
|
|
|
gastiwasti |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.12.2014, 11:41
Titel:
|
 |
was mir gerade aufgefallen ist. mit "perms" erzeuge ich ja jede mögliche Anordnung der eingegebenen Zahlen
Allerdings entstehen dabei ja viele gleichwertige Anordnungen:
1 2 3 4 5 6 7 8 9 10 11 12
kommt zu einem gleichen Ergebnis wie:
12 11 10 9 8 7 6 5 4 3 2 1
oder
5 6 7 8 9 10 11 12 1 2 3 4
heisst, es gibt nicht mehr 12! Möglichkeiten, sondern nur noch 12!/12.
passt das? könnte Matlab das noch schaffen und wenn ja wie erstelle ich ein so reduzierte Matrix?
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 15.12.2014, 13:07
Titel:
|
 |
hmm wenn das alles gleich ist kann man dann nicht zb den start festlegen also die erste position ist die 1 und dann die anderen 11 permutieren ?
_________________
richtig Fragen
|
|
|
gastiwasti |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.12.2014, 11:53
Titel:
|
 |
hey Winkow,
danke du hast mich auch ne Idee gebracht.
Ich habe aus den Gewichten das Paar herausgesucht, welches den geringsten Gewichtsunterschied hat und ordne diese gegenüberliegend an. Jetzt sind noch 10 Positionen und 10 Gewichte übrig. Auf meinem Rechner schafft es Matlab gerade noch so, davon mit "Perms" eine Matrix mit allen Permutationen zu erstellen. Diese kann ich dann in meiner Schleife durchrechnen und vergleichen, bis der beste Schwerpunkt dabei herauskommt.
Allerdings dauert das relativ (5min) lange.
Aber es funktioniert
Danke!!!
|
|
|
Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 16.12.2014, 12:19
Titel:
|
 |
da keines deiner ergebnisse auf dem vorherigen beruht und du ja alle ausrechnest wäre denke ich paralelisation mittels
möglich falls die toolbox vorhanden ist. das könnte je nach anzahl der kerne die benötite zeit nochmal runterschrauben,.
_________________
richtig Fragen
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|