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

Code ändern

 

holistic

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2010, 16:15     Titel: Code ändern
  Antworten mit Zitat      
Hallo zusammen,

ich bin noch ein ziemlicher anfänger und habe jetzt ein Stück Code vor mir, den ich ändern soll aber irgendwie komm ich nicht ganz zurecht:


In diesem Teil des Codes soll stehen, dass die Taste 1 gedrückt wird, wenn der eine Teil korrekt ist bzw. die Taste 2 wenn der andere Teil korrekt ist und die Taste 3 wenn beide Teile korrekt sind.

Ok, das ist jetzt vielleicht etwas aus dem Zusammenhang gerissen, aber im Prinzip muss ich nur den Teil finden, wo beide korrekt sind und den so abändern, dass NICHT die Taste 3 gedrückt wird, sonder kurz hintereinander die Taste 1 und dann die Taste 2.

Vielleicht ist das jetzt etwas viel verlangt, aber ich komm einfach nicht weiter Sad

Code:
% if square is correct, press 1, if sound press 2, if both press 3
    if (ceil(match(trial)/2)==ceil((match(trial)+1)/2) || ceil(matchS(trial)/2)==ceil((matchS(trial)+1)/2)) ...
            && trial>1 && answ~=999
        RTsame(RTcount)=toc;
        RTall((rounds-1)*trials_tot+trial)= RTsame(RTcount);
        RTcount=RTcount+1;
    else
        RTall((rounds-1)*trials_tot+trial)= toc;
    end
    answe{(rounds-1)*trials_tot+trial}=answ;
    if answ==999
            RTall((rounds-1)*trials_tot+trial)=0;
            answe{(rounds-1)*trials_tot+trial}=num2str(0);
    end
   
    % correct square
    if (correct((rounds-1)*trials_tot+trial)==1 && answ==49) || (correct((rounds-1)*trials_tot+trial)==1 && ...
        answ==51) || ...
        (correct((rounds-1)*trials_tot+trial)==0 && (answ==50 || answ==999))
        coransw((rounds-1)*trials_tot+trial)=1;
        if correct((rounds-1)*trials_tot+trial)==1
            hits=hits+1;% response time for progress figure: press when supposed to
        else
            misses=misses+1;
        end
    else
        coransw((rounds-1)*trials_tot+trial)=0;
        if correct((rounds-1)*trials_tot+trial)==0
            falarms=falarms+1;
        else
            nopress=nopress+1;
        end
    end
    % correct sound
    if (correctS((rounds-1)*trials_tot+trial)==1 && answ==50) || ...
        (correctS((rounds-1)*trials_tot+trial)==1 && answ==51) || ...
        (correctS((rounds-1)*trials_tot+trial)==0 && (answ==49 || answ==999))
        coranswS((rounds-1)*trials_tot+trial)=1;
        if correctS((rounds-1)*trials_tot+trial)==1
            hitsS=hitsS+1;% response time for progress figure: press when supposed to
        else
            missesS=missesS+1;
        end
    else
        coranswS((rounds-1)*trials_tot+trial)=0;
        if correctS((rounds-1)*trials_tot+trial)==0
            falarmsS=falarmsS+1;
        else
            nopressS=nopressS+1;
        end
    end
end
 


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 01.06.2010, 12:10     Titel:
  Antworten mit Zitat      
Hallo

Aus der Code allein, werde ich einfach nicht schlau.
Lauffähiger Beispiel wäre von Vorteil.
Private Nachricht senden Benutzer-Profile anzeigen
 
holistic
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 13:11     Titel:
  Antworten mit Zitat      
Hi,

Es handelt sich um eine Trainingsaufgabe für das Gedächtnis. Ich kann leider keine Exe-Dateien hochladen..

Ich habe den Code übernommen und muss ihn jetzt ändern.

Ich beschreibe es kurz:

Es gibt Quadrate und es werden Buchstabensounds vorgespielt. Die Quadrate wechseln immer die Position auf dem Bildschirm und die Person muss beantworten ob das vorher gezeigte (bzw. das vorletzte, vorvorletzte etc., d.h. die Person kann das steigern) Quadrat wieder an derselben Position sind wie die davor. Wenn das so ist soll sie die Taste 1 drücken. Das ist dann in dem Correct square abschnitt!

Dasselbe für die Sounds, nur da soll sie die Taste 2 drücken.

Das ganze wird über eine getkey funktion gehandelt (und ich glaube, da muss man auch irgendwie ansetzen)

Auf jedenfall steht in diesem code jetzt, dass wenn sowohl der gehörte Sound eines (oder mehrere) zuvor gehört wurde als auch das gezeigte Quadrat zuvor an derselben Position gezeigt wurde, die Person die taste 3 drücken soll!

genau das soll ich aber ändern, nämlich das in diesem Fall jetzt die Person nicht die Taste 3 sondern zuerst die Taste 1 und kurz darauf die Taste 5 drückt!

Ich glaube fast, dass man da zusätzlich noch etwas an der getkey funktion ändern muss, weil dieser Codeabschnitt glaube ich nur den Output verarbeit, oder?

Bin da leider etwas überfordert, aber das ist für eine Studie und muss irgendwie klappen, hoffe jemand kann mir helfen.

Wenn noch fragen sind, einfach stellen!
Private Nachricht senden Benutzer-Profile anzeigen
 
holistic
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 29.06.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.06.2010, 13:14     Titel: Getkey-Funktion
  Antworten mit Zitat      
Hier ist die Getkey-Funktion, die Mainfunktion und der Code noch einmal als Datei. Vielleicht hilft das etwas weiter.

Ich probiere nochmal etwas rum, vllt komm ich ja weiter Smile

vielen Dank schonmal

nback.m
 Beschreibung:

Download
 Dateiname:  nback.m
 Dateigröße:  1.84 KB
 Heruntergeladen:  349 mal
SQSO_alt.m
 Beschreibung:

Download
 Dateiname:  SQSO_alt.m
 Dateigröße:  8.03 KB
 Heruntergeladen:  334 mal
getkey.m
 Beschreibung:

Download
 Dateiname:  getkey.m
 Dateigröße:  2.14 KB
 Heruntergeladen:  397 mal
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.