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

Zufällige Werte in einem Intervall für Berechnung

 

ponjio
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 18.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2012, 09:31     Titel: Zufällige Werte in einem Intervall für Berechnung
  Antworten mit Zitat      
Hallo,

ich habe wieder ein Problem und weiß nicht wie ich es in Matlab realisiere. Bis jetzt bin ich in dem Programm immer noch ein Newbie.

Zur Frage:
Ich habe eine Gleichung, die zur Berechnung eines Systems dient. In dieser Gleichung sind 6 verschiedene Parameter, für die ich jeweils einen Zufallswert im Intervall von [0.95 0.99] haben möchte. Nun möchte ich dies durch eine for-schleife mit 100 Durchgängen laufen lassen und am Ende einen arithmetischen MW erhalten.

Nun weiß ich jedoch nicht wie ich in jedem Durchgang dem einzelnen Parameter wieder eine Zufallszahl aus dem oben genannten Intervall gebe. Mit rand habe ich es bisher nie auf die Reihe bekommen.

Die Gleichung lautet:
Code:
((x1+x2-x1*x2)*x4+x3-(x1+x2-x1*x2)*x4*x3)*x5*x6


Vielen Dank für eure Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2012, 09:57     Titel:
  Antworten mit Zitat      
Hallo,

du brauchst dazu keine Schleife.

Code:
x = 0.95 + 0.04*rand(100,6);
y = ((x(:,1)+x(:,2)-x(:,1).*x(:,2)).*x(:,4)+...
    x(:,3)-(x(:,1)+x(:,2)-x(:,1).*x(:,2)).*x(:,4).*x(:,3)).*x(:,5).*x(:,6);
mean(y)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ponjio
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 18.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2012, 10:20     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

du brauchst dazu keine Schleife.

Grüße,
Harald


Vielen Dank, dass war genau das was ich gesucht habe. Gibt es auch die Möglichkeit ein Ergebnis zu speichern? Weiterhin wollte ich fragen, wie ich jetzt zum Beispiel die Durchgänge verändern kann?

EDIT: Wenn ich 1000 Durchgänge mache, dann pendelt es sich bei einem Wert ein. Von daher ist die Frage hinfällig.

Zuletzt bearbeitet von ponjio am 18.02.2012, 10:42, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2012, 10:41     Titel:
  Antworten mit Zitat      
Hallo,

du hast alle Ergebnisse in y. Also kannst du dir auch ein beliebiges davon ansehen.

Anzahl der Durchgänge verändern: die 100 durch die gewünschte Zahl ersetzen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ponjio
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 18.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2012, 12:38     Titel:
  Antworten mit Zitat      
Mir fällt doch noch eine Frage ein. Im Moment erzeugt er ja die Zufallszahlen gleichverteilt. Wenn man ein bisschen math. Ahnung hat, weiß man, dass das Ergebnis im Intervall von [0.95 0.99] beim arithmetischen MW genau in der Mitte zwischen dem Minimal- und dem Maximalwert liegt.

Nun habe ich bei der Produkt-Hilfe die random-Funktion mit verschiedenen 'strings' gefunden. Ich würde gerne die Zufallszahlen einmal m.H. einer Weibull-Verteilung (wbl), einer Exponentialverteilung (exp), einer Chi-Quadrat-Verteilung (chi2) und einer Pareto-Verteilung (gp) berechnen lassen. Wie implementiert man diese Funktionen?

Vielen Dank für die Hilfe.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2012, 13:07     Titel:
  Antworten mit Zitat      
Hallo,

die Dokumentation mitsamt Beispielen sollte das an sich erklären.
Was genau verstehst du nicht?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
ponjio
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 18.04.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.02.2012, 13:48     Titel:
  Antworten mit Zitat      
Harald hat Folgendes geschrieben:
Hallo,

die Dokumentation mitsamt Beispielen sollte das an sich erklären.
Was genau verstehst du nicht?

Grüße,
Harald


Ja sie hat sich fast selbst erklärt. Ich weiß nur im Moment nicht, wie ich meine Intervallgrenzen eingebe? Die Werte für lambda und k schreibe ich dann in eckige Klammern? Iwie muss ich ja die Verteilung beeinflussen?

Die Formel lautet:
Code:
x=random('wbl',0.95,0.99,1000,6);
y = ((x(:,1)+x(:,2)-x(:,1).*x(:,2)).*x(:,4)+...
    x(:,3)-(x(:,1)+x(:,2)-x(:,1).*x(:,2)).*x(:,4).*x(:,3)).*x(:,5).*x(:,6);
mean(y)
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.02.2012, 14:35     Titel:
  Antworten mit Zitat      
Hallo,

die meisten Verteilungen haben keine "harten" Grenzen, d.h. du steuerst die Verteilung nicht über das Intervall, sondern andere Parameter. Stell dir z.B. die Normalverteilung vor - da gibts ja auch keine harten Grenzen; die Werte werden nur umso unwahrscheinlicher, je weiter sie vom Mittelwert weg sind.

Mit
Code:

kannst du dir ansehen, wie die Wahl der Parameter die Dichtefunktion einer Verteilung beeinflusst.

Wenn du nach dem vollen Namen einer Verteilung suchst, findest du auch eine genauere Erklärung - alternativ in einem Statistikbuch.
Code:
docsearch weibull


Grüße,
Harald
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 - 2024 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.