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

"kontrollierte" Normalverteilung

 

beselbube

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.11.2009, 12:40     Titel: "kontrollierte" Normalverteilung
  Antworten mit Zitat      
Hallo zusammen!

Ich arbeite noch nicht lange mit Matlab (also eigentlich isses das erste mal), von daher nicht böse sein falls es nur doofe Fehler sind Smile

Also ich muss mit Matlab einmal einen Vektor, genannt PI, z.B. mit 6 dimensionen und eine Matrix, genannt A, (6x6) normalverteilt initialisieren. Die Outputs dieser Verteilungen brauche ich dann später in einem anderen Programm.

PI habe ich realisiert durch die Funktion normrnd() mit von mir vorgegebenen mu und sigma, sieht bei mir wie folgt aus: (nur damit ihr seht, dass ich vorher was geleistet hab)

Code:

%inits
mu = 1/states;
sigma = 1/3 * mu;
muVector = zeros(states,1);
sigmaVector = zeros(states,1);


for i=1:states
    muVector(i,1) = mu;
    sigmaVector(i,1) = sigma;
end;

ISP = normrnd(muVector, sigmaVector); %Normalverteilung (in der Summe noch ungleich 1)
PI  = ISP/sum(ISP); %normalisiert ISP
 


Ausgabe wäre dann z.B. sowas:
ISP

0,142578220983018

0,185701359252147

0,365466496651431

0,320524279438049

0,0916729477690822

0,335273525907325





PI

0,0989290563467216

0,128850395989347

0,253581896244692

0,222398373905899

0,0636080191826619

0,232632258330678

Ist wahrscheinlich nicht der beste Code dafür, aber es funktioniert soweit! So, für A soll das ganze aber so funktionieren:
Ich wähle für jeden Zeilenvektor einen Zustand zufällig aus, der kriegt dann den Peek(höchsten Wert) meiner Normalverteilung, die Zustände links und rechts daneben kriegen jeweils einen kleineren Wert, muss aber bei beiden gleich sein. Und so soll das ganze dann nach rechts und links langsam weitergehen, bis alle Zustände eine Wahrscheinlichkeit > 0 haben. Ich habe aber keine Ahnung, wie ich das realisieren kann. Gut, einen Zustand auswählen per Zufall wäre nich so schwer, aber das mit dem peek der Normalverteilung und drumherum langsam weniger.. keine Ahnung wie das gehen soll. Ich habe in der Matlab Help überall gesucht, und auch googlen hat nicht geholfen. Problem ist vor allem, dass PI (von oben) zwar normalverteilt wird, aber ja auch nicht irgendwo nen peek bestimmt wird, sondern einfach Zufallswerte einer Normalverteilung hergenommen werden. Ich hoffe, ihr könnt mir hier weiterhelfen!


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.