|
|
|
Inhalt von zwei Mtrizen gleichmässig verteilen |
|
| FCO |

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 01.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 10:09
Titel: Inhalt von zwei Mtrizen gleichmässig verteilen
|
 |
Hallo,
wir möchten gerne für unsere Experiment aus 2x30 Fragen
zwei Gruppen erstellen, in denen jeweils 15 fragen aus Block 1 und 15 Fragen aus Block 2 enthalten sind.
Beispiel:
Jede Frage hat eine eigene Zahl von 1- 60
m=(1:30);
r=(31:60);
Diese Zahlen sollen so aufgeteilt werden, dass Block A 15 zufällig gewählte Fragen aus m enthält und block B dann die verbleibenden 15 Fragen aus m bekommet. Das gleiche dann mit r. 15 kommen zu Block A hinzu und die verbleibenden zu Block B. Das ganze brauchen wir 40 mal.
Wir sind alles ziemliche Matlab Neulinge und haben zwar etwas geschafft, was funktioniert ber das ist relativ umständlich, deswegen wende ich mich an die Profies, die das bestimmt eleganter lösen
Vielen Dank im Vorraus
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 10:39
Titel:
|
 |
Hallo,
spontan fällt mir ein:
genauso für m (nur ohne 30 +) und dann eine for-Schleife.
Eleganter:
und man hätte gleich 40 Kombinationen.
Grüße,
Harald
|
|
|
|
| FCO |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 01.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 11:03
Titel:
|
 |
Vielen Dank für deine schnelle Antwort
aber bekommt man dann nicht immer in Block A die 15 ersten Fragen aus m?
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 19:54
Titel:
|
 |
Hallo,
ihr müsst beide Vorgehensweisen auf m und r separat anwenden.
Grüße,
Harald
|
|
|
|
| FCO |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 01.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 21:31
Titel:
|
 |
Nochmal Danke
Wir wollten bei m die Fragen von 1- 30 und bei r die fragen 31 bis 60 drin haben und letztenendes soll dass auf zwei Blöcke verteil werden.
Und wenn ich den Code richtige verstehe (was ich bezweifle) dann geht man dort die nummer von 1-30 durch, oder?
Also in block A müsen 15 Fragen mit den Nummern <15
und 15 Fragen mit den Nummern >15 enthalnten sein.
und das Komplement
(also das, was aus m und r nhicht Block A zugewiesen wurde)
muss dann quasi Block B zugewiesen werden
Beste Grüße
FCO
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 03.06.2012, 22:59
Titel:
|
 |
Hallo,
zusammensetzen müsst ihr A bzw. B schon noch, aus r1 und m1 bzw. r2 und m2.
Grüße,
Harald
|
|
|
|
| FCO |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 01.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.06.2012, 08:23
Titel:
|
 |
Nochmal Hallo
Mit dem Code
bekomme ich leider mehrfache Einträge der Zahlen und nur Zahlen >=30
z.B. die erste Zeile von r1:
57 46 54 38 38 31 58 58 43 46 35 32 37 51 41 33 50 54 48 41 34 47 37 57 60 39 60 47 53 58 59 58 36 46 50 40 36 53 57 45
Ich glaube ich drücke mich zu missverständlich aus
Aber trotzdem danke für die Hilfe
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 04.06.2012, 11:01
Titel:
|
 |
Hallo,
die Kombinationen stehen ja auch in den Spalten von r1 bzw. r2.
Natürlich nur Zahlen >= 30, weil du das wie gesagt genauso mit m machen und das dann zusammenfügen musst.
Grüße,
Harald
|
|
|
|
| Bluesmaster |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 13.11.11
|
 |
|
 |
Wohnort: Gera
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 04.06.2012, 11:07
Titel:
|
 |
Elegant? Meine Spezialität
Gruß
Blues
|
|
|
|
| FCO |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 5
|
 |
|
 |
Anmeldedatum: 01.06.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.06.2012, 09:37
Titel:
|
 |
Danke für die Antworten
@Harald
Sorry, ich habe auf die Zeilen geschaut, weill unser Code das so gemacht hat
Aber hst Recht, sieht super aus
Nur wüßte ich nicht, wie ich was für m ändern könnte,
um die Zahlen von 1-30 zu bekommen
@Bluesmater
Sieht wirklich elegant aus
Doch Leider funktioniert das nicht bei mir :/
Bekomme die Fehlermeldungen
??? Error using ==> randperm
Too many input arguments.
Error in ==> test at 2
A = [ randperm(30,15) randperm(30,15)+30 ]
Bekommen A und B auch beide jeweils 30 Zahlen zugewiesen?
Und auch nach dem Muster 15 davon <30 und die anderen 15 >30?
Btw
hat jemand ein gutes Tutorial oder Buch, welches er mir empfehlen kann?
Beste Grüße
FCO
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 05.06.2012, 11:01
Titel:
|
 |
Hallo,
| Zitat: |
Nur wüßte ich nicht, wie ich was für m ändern könnte,
um die Zahlen von 1-30 zu bekommen |
Du brauchst nur das "r = r + 30" weglassen.
| Zitat: |
| Bekomme die Fehlermeldungen |
Vermutlich verwendest du eine MATLAB-Version, die diesen Aufruf noch nicht unterstützt. Am besten angeben, mit welchem Release man arbeitet, damit die Antworten ggf. darauf abgestimmt werden können.
Grüße,
Harald
|
|
|
|
| Bluesmaster |

Forum-Century
|
 |
Beiträge: 203
|
 |
|
 |
Anmeldedatum: 13.11.11
|
 |
|
 |
Wohnort: Gera
|
 |
|
 |
Version: 2012a
|
 |
|
|
 |
|
Verfasst am: 05.06.2012, 11:13
Titel:
|
 |
Ich teste meinen Code immer. Das heist deine Matlab-Version ist älter.
Das heist du musst das kombinatorische Problem "Ziehe 15 aus 30, ohne zurücklegen, ohne Reihenfolge" anders lösen:
Gibts viele Möglichkeiten:
1. Schleife die per Zufall eine Position einer "1:30 Matrix" auswählt
(und die gezogene herauslöscht)
2. Per Zufall eine Reihe aus der "nchoosek(30,15) Matrix" herauspicken
(extrem Rechenlastig)
3. Oder z.B. jede 2. Position der "randperm(30)" übernehmen siehe Bsp:
Der Verlust einer Zeile schmerzt natürlich auf der Eleganzskala
PS: Ich empfehle "Matlab Kompakt" > Kondensiert, ohne viel BullS****
|
|
|
|
|
|
|
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.
|
|