WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Pseudozufallszahlen sollen Bedingung erfüllen

 

Alma
Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 12:26     Titel: Pseudozufallszahlen sollen Bedingung erfüllen
  Antworten mit Zitat      
Liebe Matlabgemeinde,

ich möchte für einen Versuch 10 Signale in eine (bzw. 60 verschiedene) pseudozufällige Reihenfolge(n) bringen. Mein Plan ist es, die Namen der Signale einfach durchzunummerieren.

Der Haken: die Reihenfolge muss eine Bedingung erfüllen. Am Zahlenbeispiel sieht das wie folgt aus.
Code:
% Mein von matlab bereits zufällig angeordneter Vektor lautet
L = [73 58 76 67 82 70 79 64 85 61]
 


Nun darf aber der Betrag der Differenz zweier aufeinander folgender Werte aber niemals größer sein als die Hälfte der gesamten Range. Also:

Code:
|L(i) - L(i+1)| < (max(L) - min(L))/ 2


Am Beispiel: 73 - 58 = 15
(85 - 58 )/ 2 = 13,5
Die Bedingung ist also nicht erfüllt.

Hat jemand eine Idee, wie ich das realisieren könnte? Ich versuche es mit einer if-Schleife, aber bisher verzettel ich mich da bloß...

Ich bin für jeden Vorschlag dankbar!

Beste Grüße, Bianca
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.10.2015, 12:53     Titel:
  Antworten mit Zitat      
hmm ich würde eine mischung aus bruteforce und einschränkung der auswahl machen. also:
1. schritt: eine zahl wählen.
2. schritt. diese zahl aus den möglichen entfernen.
3. schritt. zahlen bestimmen die deine bedinungn erfüllen und noch in den möglichen sind.
4. davon wieder eine auswählen und aus den möglichen entfernen.
und das dann wiederholen.

entweder es werden 10 zahlen und du hast glück oder in den übrigen möglichen zahlen sind keine die deine bedinungen anfangen. dann alles verwefen und wieder von forne.
da du nur 10 zahlen hast kann ich mir vorstellen das das recht fix geht.
das würde ich jedenfalls versuchen.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Alma
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 7
Anmeldedatum: 24.06.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.10.2015, 13:40     Titel:
  Antworten mit Zitat      
Klasse, so mach ich's jetzt, vielen lieben Dank! :- )
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.