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

Plotten einer Variable der Legende, welche eine Zelle ist.

 

LariVe
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2017, 12:32     Titel: Plotten einer Variable der Legende, welche eine Zelle ist.
  Antworten mit Zitat      
Hallo liebe Community,
das hier ist mein erster Post, also stelle ich mich kurz vor und bitte um Entschuldigung für etwaige Fehler, die ich beim Verfassen dieser Nachricht begehe.
Ich bin Medizinerin, mathematisch also nur bis zum Abitur gebildet und im Zuge meiner Doktorarbeit nun auf Matlab angewiesen, da der Haupteil der Arbeit damit absolviert werden soll.
Leider ist mein Betreuer Physiker und ohnehin nicht sonderlich erklärbereit, wodurch meine Einarbeitung ist seine Codes und Matlab allgemein bisher nur in Form von Büchern erfolgt ist und er mich mit Fragen dazu stets mit der Antwort abweist, das ich das alleine hinbekommen muss.

Mein aktuelles Problem beschäftigt sich damit: eine abgespeicherte Variable (clustermitos1) ist als Zelle {} gespeichert und soll geplottet werden. sie hat t Reihen für jeden Zeitpunkt, konkret z.B. 145 Reihen für 145 Zeitpunkte. in der einzigen Spalte dieser Matrix ist für jeden Zeitpunkt t die Anzahl der Mitochondrien gespeichert, die an dem Hauptcluster beteiligt sind. Allerdings steht dort in der 1. Reihe nicht: 286, sondern: 1 x 286 double. (siehe angehängtem Bild)

Ich möchte nun diese Variable plotten, in dem auf der x-Achse die Zeitpunkte t=1:145 aufgeführt sind und für y an jedem Zeitpunkt die Anzahl der beteiligten Mitochondrien angezeigt wird.

Ich habe alles mögliche probiert, aber irgendwas scheine ich nicht zu durchblicken.

benutzen würde ich:

% Clustermitos plotten
figure;
hold on;
plot(size(clustermitos1,1), clustermitos(: ))
end;

falls das total falsch ist, hier mein Gedanke:
x= 1-145, also die Reihen der Clustermitos1-Zelle, somit die erste Stelle der 'Size' der Matrix
y= der Wert der Clustermitos1-Zelle in der Spalte für jeden Wert von t.


ich weiß, dass das eigentlich ganz einfach ist/sein sollte, aber ich irgendwie schaffe ich selbst das nicht...

Hoffentlich versteht jemand, was ich möchte und kann mir helfen...
Ich danke euch im Voraus und entschuldige mich für meine Unfähigkeit Surprised)

Matlab_Cell.png
 Beschreibung:

Download
 Dateiname:  Matlab_Cell.png
 Dateigröße:  252.86 KB
 Heruntergeladen:  291 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.02.2017, 19:52     Titel:
  Antworten mit Zitat      
Hallo,

Code:
plot( clustermitos{1} )


Die x-Werte werden ohnehin automatisch so gewählt, und bei einem Cell Array musst du mit { } erst die Werte extrahieren.

Schau dir auch mal das MATLAB Onramp an. Das sollte eine gute Einführung bieten.
https://matlabacademy.mathworks.com

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2017, 13:33     Titel:
  Antworten mit Zitat      
Hallo Harald,
vielen Dank. das hatte ich unter anderem schon versucht. Habe es jetzt aber nochmal versucht, allerdings macht die entstehende Grafik schlichtweg leider keinen Sinn.
1. endet die x-Achse nicht bei 145, sondern erst bei 300
2. müsste das ganze eine mehr oder weniger waagrechte Grafik ergeben, da zwischn Zeitpunkt 1 und zeitpunkt 145 die Anzahl der Clustermitos1 laut Tabelle zwischen 260 und 290 variiert. Eine Ursprungsgerade macht keinen Sinn.
Hast du eine Idee, woran das liegt?

Ein Bild des entstehenden Plots findest du angehängt.

Viele liebe Grüße und vielen Dank für die Einführungsseite!!!

Lari

Unbenannt.png
 Beschreibung:

Download
 Dateiname:  Unbenannt.png
 Dateigröße:  213.87 KB
 Heruntergeladen:  305 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

vielleicht ein Missverständnis.

Die Datenstruktur ist etwas merkwürdig, insofern ist ja erstmal die Frage, was du eigentlich plotten willst.
Die erste Komponente von clustermitos1 enthält 286 Werte, die zweite 263 Werte, etc. bis zur 145. mit (kann ich vom Screenshot nicht ablesen wie vielen) Werten.

Möchtest du also die Werte plotten? Wie?
Oder vielleicht die Anzahl der Werte?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2017, 17:50     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Geduld!
Der Code, der die Datei mit der Variablen erstellt, ist von meinem Betreuer, welche leider nicht so kooperativ ist. Mein Ziel ist hier, die Anzahl der Werte pro Zeitpunkt zu plotten.
also auf der x-achse die Zeitpunkte t=1:145 und dagegen auf der y-Achse die Anzahl, sodass ein zeitlicher Verlauf der Werteanzahl dargestellt wird.

Ich hoffe so wird verständlicher, was ich meine...
VLG und danke!

Lari
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

okay, dann musst du also zunächst die jeweilige Anzahl der Werte extrahieren. Das geht am einfachsten mit cellfun:
Code:
anzahl = cellfun(@length, clustermitos);

Dann
Code:
plot(1:145, anzahl)


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 02.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.02.2017, 18:48     Titel:
  Antworten mit Zitat      
Hallo Harald,
jeeetzt hats geklappt, endlich. viiiielen vielen Dank für deine Hilfe!
Ich kam einfach nicht darauf, wie ich aus der Zelle die Werteanzahl definieren kann...
Danke dir!
LG Lari Smile
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.