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

Wie lege ich eine MAtrix an für mehrere PErsonen?

 

Kojote

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2008, 12:20     Titel: Wie lege ich eine MAtrix an für mehrere PErsonen?
  Antworten mit Zitat      
Hallo Matlabber Smile!

Ich habe eine Formel fuer mehrere Personen numsub = 10 und gehe durch diese Schleife mit for sub = 1:numsub ....mache dann eine Formel. Das Ergebnis wird mir in einem Vektro abegespiechert. ICh wuerde jedoch gerne das alle Ergebnisse in einer MAtrix untereinander stehen. Wie mache ich das am besten?


Vielen lieben Dank!


Kojote. Wink


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 12.08.2008, 12:33     Titel:
  Antworten mit Zitat      
Moin Kojote,

stell doch mal den Code online, damit wir sehen was wie gemacht wird...
Ansonsten würd ich folgendes vorschlagen:
Code:

numsub = 10;

a = zeros(numsub,4)

for k=1:numsub
    a(k,:) = [k k+1 k+2 k^2];
end
 


Gruß
Alex

PS: Wenn ich deinen Code sehe, kann ich evtl. noch einen anderen Vorschlag machen...
_________________

>> 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
 
Kojote

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2008, 13:53     Titel: Hier mein Code....
  Antworten mit Zitat      
Code:
%%%Responses

clear all;
clc;


numsub=10;

scanlogort = {...
   
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s25_gr1_080811_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s24_gr2_080811_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s24_gr2_080805_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s22_gr2_080717_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s21_gr1_080715_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s20_gr2_080714_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s19_gr1_080714_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s18_gr1_080711_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s17_gr2_080711_kr.mat';...
'/Scanlog_SCR_ALL/Scanlog_NMHSL_ext1_s16_gr1_080702_kr.mat';...


    };


 % Daten zu den Zeitpunkten




spike_textdaten = {...
            '/Auswertungscr/5012.txt';...      
         
            '/Auswertungscr/5011.txt';...      
     
             '/Auswertungscr/5029.txt';...      
         
            '/Auswertungscr/5030.txt';...

            '/Auswertungscr/5038.txt';...      
         
            '/Auswertungscr/5040.txt';...      
     
             '/Auswertungscr/5050.txt';...      
         
            '/Auswertungscr/5058.txt';...
           

           '/Auswertungscr/5060.txt';...      
         
            '/Auswertungscr/5065.txt';...
           
for sub = 1:numsub
               
            spike_scr = load(spike_textdaten{sub});  
            load(scanlogort{sub});
           
           

A =(V_time_CSplus)/1000 % Sekunden
A= round(A*10)/10 % Runden auf 1/10-Sekunden



for m=1:numel(A)
    MWCSplus(m)=mean(spike_scr(10*A(m):10*A(m)+50)); % Mittelwert aus 1/10 + 50/10 Sekunden
   
   
    %% CS minusberechnen
   
    D =(V_time_CSminus)/1000 % Sekunden

     D= round(D*10)/10 % Runden auf 1/10-Sekundenfor m=1:numel(A)
     MWCSminus(m)=mean(spike_scr(10*D(m):10*D(m)+50)); % Mittelwert aus 1/10 + 50/10 Sekunden
   
     
     
     
end
 

end
 


/edit: Das nächste Mal bitte die Code-Umgebung oben in der Mitte nutzen!
Gruß Alex
 
Kojote

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2008, 13:54     Titel:
  Antworten mit Zitat      
Hej ....

Für MWCSminus und -plus mochte ich fuer meine Daten eine MAtrix....


Viiiiiiieeelen Dank,
Kojote
 
steffi
Forum-Century

Forum-Century



Beiträge: 149
Anmeldedatum: 07.03.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.08.2008, 14:02     Titel:
  Antworten mit Zitat      
Dann kannst du deine Matrix vor Durchlauf der Schleifen definieren:

Code:
Matrix=[];


und dann zwischen deinen letzten beiden "end" mit den Vektoren z.B. so "befüllen"

Code:
end

Matrix=[Matrix, Vektor1, Vektor2];

end

 

_________________

Wenn ich bei der Arbeit mit Computern eins gelernt habe dann das ich einem Computer nur soweit traue wie ich ihn werfen kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 12.08.2008, 15:09     Titel:
  Antworten mit Zitat      
Moin,

steffi hat Folgendes geschrieben:
Dann kannst du deine Matrix vor Durchlauf der Schleifen definieren:

Code:
Matrix=[];


und dann zwischen deinen letzten beiden "end" mit den Vektoren z.B. so "befüllen"

Code:
end

Matrix=[Matrix, Vektor1, Vektor2];

end

 

Ich denke das wird so nicht klappen, sobald A unterschiedlich viele Werte beinhaltet.

@Kojote:
Wie sehen denn dein A und D aus? Haben die für alle "sub" die gleiche Anzahl von Werten?

Wenn ja, dann geht es entweder mit Steffis Code.

Wenn ja oder nein sollte es auch so gehen:
Code:

% [...]

Matrix = {};

for sub = 1:numsub
               
            spike_scr = load(spike_textdaten{sub});  
            load(scanlogort{sub});
           
           

A = (V_time_CSplus)/1000 % Sekunden
A = round(A*10)/10 % Runden auf 1/10-Sekunden

D = (V_time_CSminus)/1000 % Sekunden
D = round(D*10)/10 % Runden auf 1/10-Sekunden

% initialisieren von MWCSplus und MWCSminus
MWCSplus = zeros(size(A));
MWCSminus = zeros(size(D));

MWCSplus = mean(spike_scr(10.*A:10.*A+50)); % Mittelwert aus 1/10 + 50/10 Sekunden

MWCSminus=mean(spike_scr(10.*D:10.*D+50)); % Mittelwert aus 1/10 + 50/10 Sekunden

Matrix{sub} = [MWCSplus MWCSminus];

end


Zugreifen kannst du dann auf die einzelnen Vektoren über
Code:
a = Matrix{1}


Ich hoffe das hilft dir weiter...

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