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

Figures in Schleife schliessen und Cell-Array benennen??

 

Krisse
Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.03.2009, 20:54     Titel: Figures in Schleife schliessen und Cell-Array benennen??
  Antworten mit Zitat      
Hallo an alle hab ein kleines Problem und komme nicht weiter! Ich soll mit Matlab eine Anova durchführen, die Statistik klappt auch soweit, dass Problem ist das ich für jeden Datenfile 14 Figures geöffnet werden, bei moentan 108 Datenfiles macht das der beste Computer nicht mit, wie kann ich Matlab sagen, das es die Figures schließt und Schleife nach jedem Datensatz weiterläuft??
Ich lasse mir die Daten in ein Cell-Array packen, dabei geht jedoch der Filename verloren, gibt es dafür eine Möglichkeit das man Zellen mit dem Namen der Ursprungsdatei benennt?
Kenne Matlab erst seit ca. 6 Monaten, bitte also um etwas Nachsicht, falls meine Probleme zu einfach erscheinen!
Code:


addpath('D:\Matlab\bioPsyToolboxB158\Toolbox') % Toolbox


[files path] = uigetfile('*.mat','Select Files','multiselect','on');

if ~iscell(files)
    files = {files};
end



% %% the phase-lengths
% itiLen      = 2;    %the real iti-length vaies [5 25]
% sndLen      = 1;    % sound played
% dlyLen      = .5;   % delay between sound and image
% imgLen      = 1;    % image presentation - no feeding
% fedLen      = 1.5;  % the total feedig duration (water in, stay, out)

% Variables

tables = cell(7,length(files));
stat   = cell(7,length(files));



%%Run

for i=1:length(files)
    disp([files{i} ': ']);
    load(files{i})


    % iti phase-lengths for comparison with other phases

    iti = [];

    iti.snd = dataBins(:,1:21);
    iti.del = dataBins(:,1:11);
    iti.img = dataBins(:,1:21);
    iti.rew = dataBins(:,1:30);

    % phase-lengths for comparison with iti

    phase = [];

    phase.snd = dataBins(:,40:60);
    phase.del = dataBins(:,60:70);
    phase.img = dataBins(:,70:90);
    phase.rew = dataBins(:,90:119);


    % snd phase-lengths for comparision with other phases

    snd = [];

    snd.del = dataBins(:,40:50);
    snd.img = dataBins(:,40:60);
    snd.rew = dataBins(:,40:59);

    % phase-lengths for comparison with snd

    sndphase = [];

    sndphase.del = dataBins(:,60:70);
    sndphase.img = dataBins(:,70:90);
    sndphase.rew = dataBins(:,90:109);


    % Variables for Anova, each variables represents two matrix parts for
    % comparison
   
    anovaTest = cell(1,4);

    anovatest{1}=[iti.snd phase.snd];
    anovatest{2}=[iti.del phase.del];
    anovatest{3}=[iti.img phase.img];
    anovatest{4}=[iti.rew phase.rew];
    anovatest{5}=[snd.del sndphase.del];
    anovatest{6}=[snd.img sndphase.img];
    anovatest{7}=[snd.rew sndphase.rew];

    %anvotest ItiSnd

    [tables{1,i},stat{1,i}]=anova1(anovatest{1});
    title(['ItiSnd'])

    %anvotest ItiDel

    [tables{2,i},stat{2,i}]=anova1(anovatest{2});
    title(['ItiDel'])

    %anvotest ItiImg

    [tables{3,i},stat{3,i}]=anova1(anovatest{3});
    title(['ItiImg'])

    %anvotest ItiRew

    [tables{4,i},stat{4,i}]=anova1(anovatest{4});
    title(['ItiRew'])

    %anovatest SndDel

    [tables{5,i},stat{5,i}]=anova1(anovatest{5});
    title(['SndDel'])

    %anovatest SndImg

    [tables{6,i},stat{6,i}]=anova1(anovatest{6});
    title(['SndImg'])

    %anovatest SndRew

    [tables{7,i},stat{7,i}]=anova1(anovatest{7});
    title(['SndRew'])

    % save the data

    disp('saving anovatest...');
    save('result','tables','stat');

end

close all



Vielen Dank für jede Hilfe!!!
Private Nachricht senden Benutzer-Profile anzeigen


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 10.03.2009, 10:57     Titel:
  Antworten mit Zitat      
Moin,

ich hoffe ich habe deinen Code richtig verstanden:

Code:
addpath('D:\Matlab\bioPsyToolboxB158\Toolbox') % Toolbox


[files pathstr] = uigetfile('*.mat','Select Files','multiselect','on'); % path ist eine Matlabfunktion - nach Möglichkeit nie überschreiben

if ~iscell(files)
    files = {files};
end



% %% the phase-lengths
% itiLen      = 2;    %the real iti-length vaies [5 25]
% sndLen      = 1;    % sound played
% dlyLen      = .5;   % delay between sound and image
% imgLen      = 1;    % image presentation - no feeding
% fedLen      = 1.5;  % the total feedig duration (water in, stay, out)

% Variables

tables = cell(7,length(files));
stat   = cell(7,length(files));



% %Run

for i=1:length(files)
    disp([files{i} ': ']);
    load(files{i})


    % iti phase-lengths for comparison with other phases

    iti = [];

    iti.snd = dataBins(:,1:21);
    iti.del = dataBins(:,1:11);
    iti.img = dataBins(:,1:21);
    iti.rew = dataBins(:,1:30);

    % phase-lengths for comparison with iti

    phase = [];

    phase.snd = dataBins(:,40:60);
    phase.del = dataBins(:,60:70);
    phase.img = dataBins(:,70:90);
    phase.rew = dataBins(:,90:119);


    % snd phase-lengths for comparision with other phases

    snd = [];

    snd.del = dataBins(:,40:50);
    snd.img = dataBins(:,40:60);
    snd.rew = dataBins(:,40:59);

    % phase-lengths for comparison with snd

    sndphase = [];

    sndphase.del = dataBins(:,60:70);
    sndphase.img = dataBins(:,70:90);
    sndphase.rew = dataBins(:,90:109);


    % Variables for Anova, each variables represents two matrix parts for
    % comparison
   
    anovaTest = cell(1,4);

    anovatest{1}=[iti.snd phase.snd];
    anovatest{2}=[iti.del phase.del];
    anovatest{3}=[iti.img phase.img];
    anovatest{4}=[iti.rew phase.rew];
    anovatest{5}=[snd.del sndphase.del];
    anovatest{6}=[snd.img sndphase.img];
    anovatest{7}=[snd.rew sndphase.rew];

    % anvotest ItiSnd

    [tables{1,i},stat{1,i}]=anova1(anovatest{1});
    title(['ItiSnd'])

    % anvotest ItiDel

    [tables{2,i},stat{2,i}]=anova1(anovatest{2});
    title(['ItiDel'])

    % anvotest ItiImg

    [tables{3,i},stat{3,i}]=anova1(anovatest{3});
    title(['ItiImg'])

    % anvotest ItiRew

    [tables{4,i},stat{4,i}]=anova1(anovatest{4});
    title(['ItiRew'])

    % anovatest SndDel

    [tables{5,i},stat{5,i}]=anova1(anovatest{5});
    title(['SndDel'])

    % anovatest SndImg

    [tables{6,i},stat{6,i}]=anova1(anovatest{6});
    title(['SndImg'])

    % anovatest SndRew

    [tables{7,i},stat{7,i}]=anova1(anovatest{7});
    title(['SndRew'])

    % save the data

    disp('saving anovatest...');
    save(['result_' files{i}],'tables','stat'); % mat-Datei mit dem Namen der ausgewerteten Datei

    close all % alle offenen Fenster schließen

end
 


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Krisse
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 13
Anmeldedatum: 09.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2009, 18:09     Titel: Vielen Dank, Problem ist gelöst!!:)
  Antworten mit Zitat      
Hab das mit dem "close all" ebenso versucht, warum das beim erstenmal nicht geklappt hat, als ich es selbst so geschrieben habe weiß der Geier!!
Matlab kann einen schon in den Wahnsinn treiben!!!

Danke nochmal!!
Private Nachricht senden Benutzer-Profile anzeigen
 
spawnferkel
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 11.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2009, 18:25     Titel:
  Antworten mit Zitat      
Du hattest es ausserhalb der Schleife geschrieben.
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.