- 12V Akku mit 280 Ah bauen         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 21

Thema: kann mir jemand rand() erklären

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.07.2005
    Ort
    Fröndenberg
    Beiträge
    105
    Anzeige

    Praxistest und DIY Projekte
    Das Problem bei rand() egal welcher Sprache ist, das intern immer ein Algo da ist, der eine Reihe willkürlicher Werte aufbaut. Dadurch das dieser Algorythmus gleich ist, ist die Reihe gleich. Deshalb wird gerne bei den meisten Hochsprachen auf dem PC als "zufälliger Startwert" die Systemzeit benutzt. Dadurch startet man immer woanders. kann man nachprüfen wenn man die Uhr per code vorher immer auf die gleiche Zeit stellt. Im Roboter ist das ein Prob. DCF77 Uhr anschließen udn darüber den Startpunkt laufen lassen oder GPS? Ist auch nicht immer der gleiche! *gg*

  2. #12
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    41
    Beiträge
    237
    Hi,

    ich hab hier irgendwo ne Bauanleitung liegen. Da wird mit dem Rauschen einer Germaniumdiode ne Zufallszahl erzeugt.
    Hat glaubich auch nur ne Diode, nen Op und ein paar Rs gebraucht, bei Interesse such ichs raus, kann bei meiner Ordnung aber ein bischen dauern.
    Open Minds. Open Sources. Open Future

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.04.2005
    Ort
    Hamburg <-> Bremen
    Alter
    44
    Beiträge
    112
    Hi Thorsten,

    mach Dich doch bitte mal auf die Suche
    Wuerd das gern mal sehen...

    Danke !!!

  4. #14
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    41
    Beiträge
    237
    Ok, kann aber wirklich ein zwei Tage dauern, war in irgendeiner Zeitschrift und davon hab ich ne Menge
    Open Minds. Open Sources. Open Future

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    17.01.2005
    Ort
    Obertraun
    Alter
    35
    Beiträge
    194
    eine möglichkeit ist wenn man z.B. nach einem Tastendruck eine Zufallszahl braucht, einfach wärend des wartens auf den Tastendruck eine Variable ständig hochzählen und nach dem drücken der Taste den Wert der Variable als "Zufallszahl" hernehmen.
    Diese Art eine zufällige Zahl zu generieren funktioniert zwar nicht in allen Fällen jedoch ist es eine sehr einfache Variante eine zufällige Zahl zu generieren.

    mfg

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    05.08.2005
    Ort
    Giessen
    Alter
    46
    Beiträge
    105
    Vielleicht hilft das hier ein Stück weiter, das Thema wurde hier auch schon mal aufgeworfen

    https://www.roboternetz.de/phpBB2/ze...ht=zufallszahl

    zum Thema Rauschen:

    http://www.umnicom.de/Elektronik/Sch...generator.html

  7. #17
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.11.2003
    Ort
    Alfeld (50km südl. Hannover)
    Alter
    41
    Beiträge
    237
    So hab den Artikel gefunden und werd ihn mal im Laufe des Tages scannen wenn ich an den Rechner komme.
    Der Aufwand ist doch etwas höher als ich in Erinnerung hatte.
    Der Generator ist für die Serielle Schnittstelle und liefert Zufallszahelen mit bis zu 100kbit/s.
    Open Minds. Open Sources. Open Future

  8. #18
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Naja, auch wenn der Aufwand evtl. etwas größer ist könnte sich das manchmal schon lohnen...

    Denn da ja hier das Rauschen eines realen Bauteils zur Berechnung herangezogen wird, erhält man auch echte Zufallszahlen.
    So viele Treppen und so wenig Zeit!

  9. #19
    Neuer Benutzer Öfters hier
    Registriert seit
    05.07.2005
    Ort
    Karlsruhe
    Beiträge
    25
    Hi,

    ich versuche auch grad, (pseudo-)Zufallszahlen in meinem AVR GCC-Programm zu verwenden - nur leider klappts nicht.

    Mein Vorgehen:
    #include <stdlib.h>
    #define RAND_MAX 0x05 //ich brauche Zahlen zw. 0 und 5. Müsste so gehen, oder?

    [..]

    srand(TCNT0); //PRNG mit timerwert initialisieren
    int x;
    x=rand();

    [..]

    Nur leider krieg ich damit keinen integer zwischen 0 und 5... fällt jemandem spontan ein Fehler auf?

    Danke
    Raphael

  10. #20
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Nö, so kann das nicht gehen. RAND_MAX ist ein #define in der stdlib.h! Das ist vorgegeben durch den rand-Algorithmus.

    Wenn du RAMEND umdefinierst bekommt dein AVR ja auch net mehr Speicher

    Möglich wäre so was:

    x = rand() % 6; // modulo n liefert Werte 0...n-1


    ::EDIT::

    Und sich ne seed auf die Art zu besorgen geht zwar, aber es ist wohl immer die gleiche, falls Timer0 nicht von externen Signalen abhängt (Tastendruck, Takt, etc)
    Disclaimer: none. Sue me.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress