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

512 x 512 Matrix verkleinern , Berechnung

 

plm_kolb
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.06.2018, 16:46     Titel: 512 x 512 Matrix verkleinern , Berechnung
  Antworten mit Zitat      
Hi liebe Leute,

Ich hab viele Schichten von 512 x 512 Matrix und jedes mal darin verschiedene Schichten eines Tumors mit einen kleineren Bereich von z.B 50 x 67 und die nächste Schicht z. B 45 x 66 usw. Also eine Schleife. Jetzt will ich den Mittelwert, Standardabweichung, Varianz, Skewness und Kurtosis für jede Schicht der kleiner Matrix ausrechnen.

Code:
Roi_ent1 = uint8(Roi_ent);
        mean = mean2(Roi_ent1(:));
        Roi_ent2 = double(Roi_ent1);
        Standardab =std(Roi_ent2(:));
        Roi_ent2 = double(Roi_ent1);
        Varianz = var (Roi_ent2(:));
        Roi_ent2 = double(Roi_ent1);
        Skewmess = skewness (Roi_ent2(:));
        Roi_ent2 = double(Roi_ent1);
        Kurtosis = kurtosis (Roi_ent2(:));
        Result(count,:) = [mean , Standardab, Varianz , Skewmess, Kurtosis ];


Wie kann man so eine kleinere Matrix die immer automatisch den Bereich ausschneidet definieren und wie geht die Berechnung? Ich bedanke mich schonmal im Voraus und bin für hinweise dankbar .
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.450
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.06.2018, 18:53     Titel:
  Antworten mit Zitat      
Hallo,

eine Möglichkeit ist eine for-Schleife.

Zitat:
einen kleineren Bereich von z.B 50 x 67 und die nächste Schicht z. B 45 x 66 usw.

Die Logik hinter dieser Folge erschließt sich mir nicht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
plm_kolb
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2018, 17:48     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke, die schleife hab ich schon, aber ich will aus einer 512 x 512 unit8 Matrix, in der z.B 3x4 nur diese zahlen [0,2,3;1,3,3;2,22,0;8,0,7] sind und der rest 0 ,meine Mittelwert, Standardabweichung usw ausrechnen. Also muss ich doch die Matrix umwandeln von 512 x 512 unit8 in 3x4 double , oder ? ich dachte an eine roipoly. denn ich will alle Nullen, nicht in der Berechnung sind, raus haben, denn sie verfälschen das Ergebnis ?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.450
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.06.2018, 18:43     Titel:
  Antworten mit Zitat      
Hallo,

wenn du weißt, wo die Werte stehen, kannst du sie per Indizierung leicht rausholen.
Wenn nicht: der genannte Bereich enthält ja auch 0. Wie soll nun entschieden werden, welche Nullen in die Berechnung aufgenommen werden sollen und welche nicht?
Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
plm_kolb
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 17.06.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 18.06.2018, 19:32     Titel:
  Antworten mit Zitat      
danke dir, aber es ist noch nicht ganz was ich suche, war vielleicht ein blödes Bsp. Die zahlen sind immer wo anders, also ich hab 512 x 512 Matrix mit den zahlen
0 0 0 0 2 3 4 5 4 11 0
0 0 0 0 0 2 4 5 55 0 0
0 0 0 0 0 0 8 5 0 0 0 0

rest 0
und will nur 2 3 4 5 4 11
2 4 5 55
8 5
als Matrix haben. Oder einfach ich will nur von den Zahlen meine Berechnung durchführen?

Ich glaub ich komm der Sache schon näher.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.450
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 18.06.2018, 20:14     Titel:
  Antworten mit Zitat      
Hallo,

da mir die Frage nun klar ist, ist die Antwort leicht:
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
siebenmeilen
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 17.04.18
Wohnort: Bielefel
Version: Operating System: Microsoft Windows 10 Home Version 10.0 (Build 16299) Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit
     Beitrag Verfasst am: 30.06.2018, 14:43     Titel:
  Antworten mit Zitat      
Sieh mal unter dem Befehl

find

nach, der müsste Dir helfen!

Grüße
siebenmeilen
_________________

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