Figures in Schleife schliessen und Cell-Array benennen??
Krisse
Forum-Anfänger
Beiträge: 13
Anmeldedatum: 09.03.09
Wohnort: ---
Version: ---
Verfasst am : 09.03.2009, 20:54
Titel : Figures in Schleife schliessen und Cell-Array benennen??
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!!!
steve
Ehrenmitglied
Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
Verfasst am : 10.03.2009, 10:57
Titel :
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?
Krisse
Themenstarter
Forum-Anfänger
Beiträge: 13
Anmeldedatum: 09.03.09
Wohnort: ---
Version: ---
Verfasst am : 12.03.2009, 18:09
Titel : Vielen Dank, Problem ist gelöst!!:)
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!!
spawnferkel
Forum-Fortgeschrittener
Beiträge: 53
Anmeldedatum: 11.03.09
Wohnort: ---
Version: ---
Verfasst am : 12.03.2009, 18:25
Titel :
Du hattest es ausserhalb der Schleife geschrieben.
Einstellungen und Berechtigungen
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
| 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.