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

Mehrere Matrizen 512x512 laden und Spaltenstatistik plotten

 

newuser
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2009, 12:36     Titel: Mehrere Matrizen 512x512 laden und Spaltenstatistik plotten
  Antworten mit Zitat      
Hallo,

vielleicht wurde dieses Thema ja schon mal ausführlich behandelt aber hier meine Frage:

Ich habe eine variable Anzahl von Matrizen (.txt) der immer gleichen Größe von 512x512 in einem Ordner liegen . Diese möchte ich alle gleichzeitig laden, dann z.Bsp. nur das Feld von Zeile 190 bis 290 herausnehmen und mir dann die Spaltenstatistik aller Matrizen ausgeben lassen. Und damit noch nicht genug, diese Summenprofile sollen dann geplottet werden. Ich habe mal drei Files angehangen.

Kann mir da jemand helfen, ich danke wie doll und verrückt.

justage250kc_2_3.txt
 Beschreibung:

Download
 Dateiname:  justage250kc_2_3.txt
 Dateigröße:  519.68 KB
 Heruntergeladen:  568 mal
justage250kc_1_3.txt
 Beschreibung:

Download
 Dateiname:  justage250kc_1_3.txt
 Dateigröße:  519.78 KB
 Heruntergeladen:  550 mal
justage250kc_0_3.txt
 Beschreibung:

Download
 Dateiname:  justage250kc_0_3.txt
 Dateigröße:  519.94 KB
 Heruntergeladen:  581 mal
Private Nachricht senden Benutzer-Profile anzeigen


Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2009, 12:52     Titel:
  Antworten mit Zitat      
einen Teil aus einer Matrix auszulesen kann man leicht erreichen.

hier ein Beispiel
aus der Matrix A 4x4 wird die zweite Spalte ausgelesen und die Zeilen 2 bis 3

Code:

A = [11 12 13 14;21 22 23 24; 31 32 33 34; 41 42 43 44];
spalte = 2;
zeile_von = 2;
zeile_bis = 3;
B = A([zeile_von:1:zeile_bis],spalte)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Idefix_1024
Forum-Century

Forum-Century


Beiträge: 230
Anmeldedatum: 16.10.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2009, 12:56     Titel:
  Antworten mit Zitat      
ach so

sollte das Einlesen der Daten Probleme machen, so muss man eben die erste Zeile anders schreiben

Code:

A = dlmread('test.txt');
spalte = 2;
zeile_von = 2;
zeile_bis = 3;
B = A([zeile_von:1:zeile_bis],spalte)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Aurelie
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 13.02.09
Wohnort: Bonn
Version: ---
     Beitrag Verfasst am: 26.03.2009, 12:56     Titel:
  Antworten mit Zitat      
Ich hätte da folgende Idee, vielleicht nicht die eleganteste aber sie müsste soweit funktionieren....

Code:

anzMatrix=3;

struct_matrix=cell(anzMatrix);
statistik=cell(anzMatrix);

% Diese möchte ich alle gleichzeitig laden
% mit hilfe von i wird der Name bei sprintf immer geändert
for i=0:anzMatrix-1
    sprintf('%s%0.5g%s','justage250kc_',i,'_3.txt')
    % cell namens matrix erzeugen, in jeder Cell steht dann eine Matrix die
    % du eingelesen hast
    struct_matrix{i}=textread('justage250kc_2_3.txt');
end;


% dann z.Bsp. nur das Feld von Zeile 190 bis 290 herausnehmen
% und mir dann die Spaltenstatistik aller Matrizen ausgeben lassen.
for j=1:length(struct_matrix)
    statistik{j}=sum(struct_matrix{1}(190:290,:));
end;


% diese Summenprofile sollen dann geplottet werden. Ich habe mal drei Files angehangen.

 


Was genau willst du plotten?
In einem plot?
In mehreren?

Viele Grüße,
Aurelie.
Private Nachricht senden Benutzer-Profile anzeigen
 
Maddy
Ehrenmitglied

Ehrenmitglied



Beiträge: 494
Anmeldedatum: 02.10.08
Wohnort: Greifswald
Version: ---
     Beitrag Verfasst am: 26.03.2009, 13:03     Titel:
  Antworten mit Zitat      
Frage: Wieviele Matrizen sind das maximal?

Wenn es nicht zu viele sind, also Anzahl <100. Würde ich wahrscheinlich wie folgt vorgehen um die Matrizen einzulesen.

Code:

fpath=''; % hier bitte den Ordner angeben, wo die txt Dateien sind
txtlist=dir([fpath '*.txt']); % erstellt Liste aller txt dateien im entsprechenden Ordner

A=zeros(:,:,length(txtlist));

for k=1:length(txtlist)

A(:,:,k)=load(txtlist(k).name);

end


% A enthält nun alle Matrizen

 


edit: ui heute ist aber betrieb hier Wink
_________________

>> why
The computer did it.
Private Nachricht senden Benutzer-Profile anzeigen
 
newuser
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 26.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.03.2009, 13:22     Titel:
  Antworten mit Zitat      
Na das geht aber ab hier, erstmal besten Dank für die schnellen und reichlichen Vorschläge zu meiner Frage.

Maddy:
Als absoluter Neuling will ich mal alle Fragen in einem beantworten.

Die Anzahl der Matrizen übersteigt nicht die 100.

Aurelie:
Ich möchte die Summenprofile, die ich per Spaltenstatistik für den Bildausschnitt Zeile 190 bis 290 aller Matrizen ermittelt habe in einem Plot drucken, wenn es geht. Oder halt einzeln wenn es nicht klappt.

Nun werde ich mich mal mit euren Vorschlägen versuchen, mal sehen was bei raussauert.

Danke und Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Aurelie
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 13.02.09
Wohnort: Bonn
Version: ---
     Beitrag Verfasst am: 26.03.2009, 13:31     Titel:
  Antworten mit Zitat      
Ist die Spaltenstatisik jeweils für die spalten einer Matrix oder ist die Statistik über alle Matrizen (in den bestimmten spalten)?

Falls du für die jeweilige Matrix separat die Statistik errechnen willst, dann so:

Code:

%diese Summenprofile sollen dann geplottet werden. Ich habe mal drei Files angehangen.
for j=1:anzMatrix
    plot(statistik{j});
    hold on;
end;
 


Mithife von 'Color' kannst du dann noch verschiedene Farben benutzen...
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.