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

Permutationsprogramm

 

DahliaLeStrange
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.03.11
Wohnort: London
Version: ---
     Beitrag Verfasst am: 02.03.2011, 01:04     Titel: Permutationsprogramm
  Antworten mit Zitat      
Hallo liebe MatLab Gemeinde,
obwohl ich meinem betreuenden Professor mitteilte nur einen Anfängerkurs in Maltlab gemacht zu haben, scheint er das ständig zu vergessen und traut mir 2 1/2 jährigen Studenten viel zu viel zu.
Ich soll also nun eine von ihm geschriebes Programm in ein Permutationsprogramm abändern. Das von ihm verfasste Programm bezieht sich aus einem Experiment mit zwei bedingungen (a) Like_decision und b) Dislike_decision). Für diese Bedingungen wurde für 30 Teilnehmer die "viewing time" in ms gemessen für verschiedene Bilder.Pro Teilnehmer für jede Bedingung 40 mal. Das Programm schreibt pro Bedignung eine Matrix aus den durchschnitts "viewing times" mit der einschränkung, alle Zahlen größer 20000ms und kleiner 10000ms als NaN zu betiteln, da die für uns nicht relevant sind.
Nun soll ich dieses Script so umwandeln, dass es beide Bedingungen mit dem rand() Befehl 1000 mal randomisiert und ich das ganze dann pro bedingung praktisch 1000 mal habe um dann jeden einzelnen dieser matrizen in einem einzigen plot dann darzustellen. Hierbei muss noch beachtet werden dass ich mithilfe des sort(x) befehls den plot mit einem confidence interval von 95% vermerken soll...
Puh, ich bin überfordert.
Kann mir jemand helfen?
Hier das Urscript als Anhang.

Vielen Dank im Voraus an jeden Wagemutigen!

Time_Exposure_Chris.m
 Beschreibung:

Download
 Dateiname:  Time_Exposure_Chris.m
 Dateigröße:  1.46 KB
 Heruntergeladen:  378 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


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

das gute ist: du scheinst verstanden zu haben, was du machen sollst. Das weniger gute: ich zumindest verstehe es nicht.
Könntest du das ganze vielleicht in konkrete Fragen aufstückeln? Eine Frage, die ich herausgelesen habe: Erzeugung von 0/1-Zufallszahlen. Vorschläge dazu:
Code:
M = randi(2, 10, 1) - 1;
M = round(rand(10,1));


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
DahliaLeStrange
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.03.11
Wohnort: London
Version: ---
     Beitrag Verfasst am: 02.03.2011, 16:20     Titel: Fortsetzung
  Antworten mit Zitat      
Vielen Dank für die Antwort!

Also das Programm das ich angehängt habe errechnet von den beiden Bedingungen je eine Matrix von den gemessenen Zeiten und schliesst alle über 20000 aus. Den Teilnehmern wurde 40 mal nacheinander zwei Bilder gezeigt und sie konnten hin und herschalten und mussten sich dann für eines entscheiden. Das ausgesuchte Bild wird in dem Programm als choice mit dem wert 1 versehen und non choice als 0. Am Ende kann ich nun pro Bedingung ein Histogramm plotten welches mir über den spezifizierten Zeitraum bis zu 20000 ms anzeigt, zu welcher ms welches Bild (1 oder 0) von den Teilnehmern angeschaut wurde. Also durchschnittlich von allen 30 Teilnehmern zusammen genommen.

Nun würde ich gerne denselben Vorgang mit Zufallswerten 1000 mal wiederholen, um so eine Pseudo-Verteilung zu bekommen pro Bedingung. Diese Pseudo-Verteilung der 1000 Durchgänge ist sozusagen meine Vergleichsverteilung für meine originalen Werte. Nun würde ich die Pseudoverteilung gerne in meine ursprüngliche Verteilungen integrieren, und zwar die Werte betonen, die noch innerhalb der 95% den Konfidenzintervalls liegen. Am Schluss sieht das dann so aus, dass ich meine ursprüngliche Histogrammlinie pro Bedingung habe und die 95% der Pseudoverteilung als grauer "Schlauch" ober und unterhalb meiner Linie dargestellt ist. So kann ich dann schön erkennen, ab wann meine urprüngliche Verteilung nicht mehr signifikant ist...
Macht das die Sache klarer? Ich finde es selbst recht kompliziert und bin nicht so gut im Erklären...
Konkret möchte ich wissen wie ich diese Verteilung im Skript mit Zufallszahlen 1000mal wiederhole (wenn möglich an einem Ort gespeichert und nicht in 1000 verschieden Dateien).
Dann möchte ich wissen wie ich diese Pseudoverteilung in meine ursprüngliche Verteilung als 95% Konfidenzintervall dargestellt integrieren kann.
Vielen Dank nochmal!
Private Nachricht senden Benutzer-Profile anzeigen
 
DahliaLeStrange
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.03.11
Wohnort: London
Version: ---
     Beitrag Verfasst am: 02.03.2011, 16:22     Titel: bootstrp und bootci
  Antworten mit Zitat      
Mittlerweile habe ich herausgefunden, dass die Befehle bootstrp und für die Konfidenzintervalle bootci hilfreich sein könnten, nur weiss ich nicht wie und wo ich die in das Skript integrieren könnte
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.03.2011, 23:02     Titel:
  Antworten mit Zitat      
Hallo,

die Beschreibung ist zwar länger, aber für mich nicht klarer.
Nach Möglichkeit bitte kurz und präzise...

Ohne verstanden zu haben, um was es geht, Anmerkungen / Vorschläge:

1. Es ist eine Funktion, kein Skript.
2. Diese Funktion erwartet Argumente in einer sehr speziellen Form --> wie sieht ein Beispielaufruf aus? Wie sieht dann die Rückgabe aus?
3. Mehrere Inputs dieser speziellen Form generieren. Das entscheidende wird sein, die Rückgabe auch passend zu verarbeiten.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
DahliaLeStrange
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.03.11
Wohnort: London
Version: ---
     Beitrag Verfasst am: 02.03.2011, 23:44     Titel:
  Antworten mit Zitat      
Ok, vielleicht schrittweise?
Also ich würde gerne meine beiden zu Beginn abgerufenen Variablen (Like_decision und Dislike_decision) mit Zufallszahlen 1000 mal generieren.
Laut meinem Professor müsste ich da "nur" ein wenig was in der ersten "for" Schleife ändern mit dem rand() Befehl
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.03.2011, 23:48     Titel:
  Antworten mit Zitat      
Hallo,

diese beiden Variablen werden zu Beginn nicht abgerufen, sondern vorbelegt.
Zum Thema Zufallszahlen generieren: Jetzt müsste man nur noch wissen, wie diese Zufallszahlen verteilt sein sollen.
Einen ersten Vorschlag dazu habe ich schon in meiner ersten Antwort gemacht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
DahliaLeStrange
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 02.03.11
Wohnort: London
Version: ---
     Beitrag Verfasst am: 05.03.2011, 03:44     Titel: Danke
  Antworten mit Zitat      
Hallo,

ich habe deine Vorschlag kopiert und werde ihn meinem Prof vorlegen. Ich kenne mich mit der Materie einfach zu wenig aus und fühle mich mit der Aufgabe überfordert. Ich lerne ja nicht Programmiersprache, sondern Psychologie....trotzdem vielen Dank für dein Hilfe!

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