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

Max aus einer schicht einer 3D Matrix in ander 3D Matrix

 

Crow

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.07.2010, 18:43     Titel: Max aus einer schicht einer 3D Matrix in ander 3D Matrix
  Antworten mit Zitat      
Hallo zusammen,

Ich habe eine Berechnung
Code:

z=a./b;
 


dabei ist sowohl a als auch b eine Matrix mit der Dimension (256,256,31). In der Matrix b ist auch der Wert Null enthalten! Damit ich kein "Na" als ergebnis rausbekomme möchte ich, dass an der Stelle wo die Null bei (:,:,x) steht, der Maximalwert von (:,:,x) steht.

Beispiel:

In b(:,:,20) ist eine Null enthalten, diese möchte ich durch den max von b(:,:,20) überschreiben.

Jemand eine Idee?

schönes WE noch...adieu


crow

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.07.2010, 10:32     Titel:
  Antworten mit Zitat      
ich bin nochmal,

hab nen Fehler gemacht!

Wenn in b(:,:,20) eine Null ist, dann soll an der stelle wo die Null is bei z(:,:,20) der max von z(:,:,20) stehen!

kann jemand helfen!?
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 27.07.2010, 15:07     Titel:
  Antworten mit Zitat      
Hi,

bei mir zeigt er ein inf an. Aber das geht beides.

Code:

a=[1,2,3,4]
b=[1,2,0,4]
z=a./b;

% inf in nan umwandeln wenn nötig
z(isinf(z))=nan;
z(isnan(z))=max(max(max(z)));

 


Grüße

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
crow

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.07.2010, 18:29     Titel:
  Antworten mit Zitat      
Hallo,

ok,danke für den Vorschlag, aber dann ich will das max von der jeweiligen z-richtung wo eine null gefunden wurde! müsste doch so gehen:
Code:

 g=size (z);
 for i=1:i+1:g(3)
     maxi=max(max(z(:,:,i)));
     z(b==0)=maxi;  
 end
 


Richtig?

LG
-------------
der Crow
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 28.07.2010, 14:35     Titel:
  Antworten mit Zitat      
Ja das sieht ok aus. Ausser das i und j als Variablen vermieden werden wollen, weil das bei Matlab für imaginäre Zahlen steht.

Grüße

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