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

Zufallszahlen für Optimierung 12 Zeilen, 1 Spalte

 

ERC123
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2017, 14:54     Titel: Zufallszahlen für Optimierung 12 Zeilen, 1 Spalte
  Antworten mit Zitat      
Hallo,


ich möchte gerne Zufallszahken für 12 Assets als Startgewichte generieren.
Diese Zufallszahlen dürfen nicht negativ sein und als Summe der 12 Assets muss 1 ergeben.

Ich habe folgendes versucht:
A = rand(12,1);

Wie kann ich es formulieren, dass für A die Summe 1 ergibt und es keine negativen Zahlen sind?

Vielen Dank im Voraus

VG
Private Nachricht senden Benutzer-Profile anzeigen


ERC123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.01.2017, 15:04     Titel:
  Antworten mit Zitat      
Ich habe jetzt das so gemacht:

Code:
help = rand(12,1);  
  vW0 = help./sum(help);


Wie kann ich dafür sorgen, oder einen Befehl reinschreiben,
dass möglichst viele > 20 sind?

Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.01.2017, 18:21     Titel:
  Antworten mit Zitat      
Hallo ERC123,

Wenn Du die "Zufallszahlen" so normierst, dass die Summe festgelegt ist, sind die Zahlen nicht mehr so verteilt, wie es die Definition "Zufallszahl" eigentlich erfordert. Dann noch "möglichst viele" größer als 20 werden zu lassen, ist mit rand gar nicht möglich, weil dies ja nur Zahlen zwischen 0 und 1 ausgibt.

Was benötigst du also genau?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
ERC123
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2017, 00:37     Titel:
  Antworten mit Zitat      
Hallo Jan,

danke für deine Antwort.
Sorry, mit >20 meinte ich 0.2.
Ich benötige ein Vektor mit 12 Zeilen, die zwischen 0,2 und 1 liegen.
Die Summe der 12 Zeilen bzw. Elemente muss 1 ergeben.

Danke im Voraus
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 19.01.2017, 13:12     Titel:
  Antworten mit Zitat      
Hallo ERC123,

https://www.mathworks.com/matlabcen.....om-vectors-with-fixed-sum erstellt "zufällige" Zahlen mit einer bestimmten Summe in der best möglichen Methode für eine Gleichverteilung.

Wenn "möglichst viele Elemente" größer als 0.2 sein sollen, lässt sich das nicht ohne weiteres einfügen. Du könntest einen Satz von Vektoren erzeugen und den auswählen, der am besten zu Deinen Kriterien passt.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

für >= 0.2 ließe sich die Frage relativ leicht beantworten: die Lösung wäre nämlich, 5 der 12 Gewichte auf 0.2 zu setzen und die anderen auf 0.
Code:


Allerdings gibt es dann nur eine sehr begrenzte Anzahl Möglichkeiten.
Code:


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 05.12.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.01.2017, 14:45     Titel:
  Antworten mit Zitat      
Hallo,

danke für eure Antworten!

VG
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.