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

Matrizen unterschiedlicher Länge zusammenfassen

 

Sad

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2011, 12:43     Titel: Matrizen unterschiedlicher Länge zusammenfassen
  Antworten mit Zitat      
Hey,
ich habe zur Zeit noch 3 Matrizen mit unterschiedlen Längen. Das soll aber zeitnah auf 100 erweitert werden, sodass ich eine Alternative zum Cell array suche oder einen Tipp wie ich mir das verkürzen kann.Bisher sieht es so aus
Code:

 signal1=zeros(summe(:,1),size(images,3))
 signal2=zeros(summe(:,2),size(images,3))
 signal3=zeros(summe(:,3),size(images,3))

C={signal1 signal2 signal3}
      for k=1:numel(C)
          a=C{k}
      end
 

summe = 4661 2924 1185
size(images,3) gibt 20 zurück.
Für die 3 ist es ja noch ohne Probleme möglich, jedoch bei meiner Erweiterung auf 100 unschön.
Gibt es nun eine Möglichkeit das ich nicht immer per Hand signal1 signal2 etc in C eintragen muss?

Ich hätte am liebsten eine Matrix die so aufgebaut ist das sie
summe(:,1),size(image,3),anzahl der unterschiedlichen Summen
angibt. Da ich diese "3" Matrizen dann noch mit meinen Daten füllen kann.


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.04.2011, 13:04     Titel:
  Antworten mit Zitat      
Hallo

initialisiere doch gleich so, und dann fülle die Matrix in einer Schleife:

Code:

M  = zeros(max(summe),size(images,3),size(summe,2))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Sad

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2011, 14:56     Titel:
  Antworten mit Zitat      
Das klappt schon,aber die Matrizen müssen die richtige größe haben, da ich diese wieder mit meinen Messdaten füllen will und dafür genau so viele
Daten habe wie ich zuvor mit der Summe berechnet habe.
Also soll die erste Zeile mit meinem Signal,das bereits in einem Matrix abgespeichert ist belegt werden.
Die zweite gibt mir die Bildnummer(image) an und die dritte zu welchem Bereich(signal1 2 oder 3)
Abschließend wird dann der Meridian über Signals bzw M gebildet und da verfälschen mir die Nullen ja mein ergebnis
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.04.2011, 18:23     Titel:
  Antworten mit Zitat      
Okay dann vielleicht mit NaNs vorinitialisieren, und dann mit ISNAN interagieren.

Code:

M  = nan(max(summe),size(images,3),size(summe,2))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Sad

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.04.2011, 11:52     Titel:
  Antworten mit Zitat      
Hey,
vielen Dank.
Ich habe das jetzt so hinbekommen.Erst einmal
Code:

M  = zeros(max(summe),size(images,3),size(summe,2))

und dann meinen aufruf
und dann mir die auffüllen lassen mit meinen Signalen.
Code:

M(M==0) = NaN;
M1=nanmedian(M);
 

das hat dann funktioniert.
Nochmals vielen Dank
 
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.