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

Grafiken mit Schleifen generieren

 

throat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2013, 01:30     Titel: Grafiken mit Schleifen generieren
  Antworten mit Zitat      
Ich möchte gerne 3 Figuren ausgeben, dabei soll ein Figure vier Bereiche darstellen.
Eine Figure soll wie das Bild im Anhang aussehen. Oben Rechts (gelb markierte Stelle) soll aus vier subplots erstellt werden
Der Aufbau (pseudo-code) meines Programms (mit den Schleifen) sieht wie folgt aus.
Code:
%~~~~~~~~~~~~~~~~~~
File:Main.m
for i=1:3
   figure
   subplot(2,2,1); plot(bla)
   subplot(2,2,2); plot(bla)
   for j=1:4 % Oben rechts
      methode(i,j)
   end
   subplot(2,2,3); plot(bla)
   subplot(2,2,4); plot(bla)
end

%~~~~~~~~~~~~~~~~~~

File:methode.m

methode(i,j)
   ausgabe(bla)
end

ausgabe(bla)
   plot(bla)
end
%~~~~~~~~~~~~~~~~~~


Wie könnte ich sowas realisieren. Könnt ihr mir Tipps geben

Unbenannt.png
 Beschreibung:

Download
 Dateiname:  Unbenannt.png
 Dateigröße:  7.81 KB
 Heruntergeladen:  513 mal


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 08.05.2013, 11:47     Titel:
  Antworten mit Zitat      
Du musst eine Subplotmatrix mit 4x4 eröffnen und die subplots, die größer sein sollen, über 2x2 Subplots spannen.

Code:

for i=1:3
   figure
   subplot(4,4,[5 6,1 2]); plot(x,y)
   subplot(4,4,[9 10, 13 14]); plot(x,y)
       subplot(4,4,3), plot(x,y),
       subplot(4,4,4), plot(x,y),
       subplot(4,4,7), plot(x,y),
       subplot(4,4,8), plot(x,y),
   subplot(4,4,[11 12,15 16]); plot(x,y)
end
 

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
throat

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.05.2013, 23:53     Titel:
  Antworten mit Zitat      
leider muss ich meine Struktur beibehaltewn. Kann ich dein Vorschlag nicht auf mein System aufsetzen. Also das mit der Methode muss bleiben...
 
Bluesmaster
Forum-Century

Forum-Century



Beiträge: 203
Anmeldedatum: 13.11.11
Wohnort: Gera
Version: 2012a
     Beitrag Verfasst am: 09.05.2013, 08:38     Titel:
  Antworten mit Zitat      
Ich habe ein bisschen Schwierigkeiten die Frage genau zu verstehen.

Du brauchst 3 Fenster/ Figures auf dem Bild sind 4 ?


f1 = figure( 'Units' , 'normalized' , 'Position' , [ 0 0 0.5 0.5 ]);
f2 = figure( 'Units' , 'normalized' ,'Position' , [ 0.5 0 0.5 0.5 ] );
f3 = figure( 'Units' , 'normalized' ,'Position' , [ 0 0.5 0.5 0.5 ] );
f4 = figure( 'Units' , 'normalized' ,'Position' , [ 0.5 0.5 0.5 0.5 ] );


...gut die Größen müsstes du noch ein bisschen anpassen.

Axes/ subplots erstellst du genauso

a2 = axes( f2 );

und plots auch

p1 = plot( a2 , [ 1 2 3 ] )


Oder verstehe ich das Problem falsch?

Gruß

Blues
Private Nachricht senden Benutzer-Profile anzeigen
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 09.05.2013, 11:09     Titel:
  Antworten mit Zitat      
throat hat Folgendes geschrieben:
leider muss ich meine Struktur beibehaltewn. Kann ich dein Vorschlag nicht auf mein System aufsetzen. Also das mit der Methode muss bleiben...



Die von dir "methode" genannte Funktion hat für mich keinen Erkennbaren oder von die Erläuterten bezug zum Plot, somit hab ich sie für den Beispielcode rausgeworfen - ist ja - wie bei dir - nur ein Minimalbeispiel.

Was du dann in die Plotumgebung mit einbaust, ist doch dir überlassen. Du kannst die Methode doch problemlos wieder reinkopieren.
Das einzige, was ich dir erklärt habe, dass du kannst nicht mit subplot (2,2,x) arbeiten kannst, sondern eben subplot(4,4,x) nutzen müsstest, wenn du die von dir angehängte Grafik erreichen willst. Das war deine Frage.
Bei den drei großen Plots musst du den Subplot jeweils über 4 kleine Plots spannen, und die kleinen Plotzs direkt über 3,4,7 oder 8 direkt ansprechen.


Code:

for i=1:3
   figure
   subplot(4,4,[5 6,1 2]); plot(x,y)
   subplot(4,4,[9 10, 13 14]); plot(x,y)
   for j=1:4 % Oben rechts
   subInd(j) = [3,4,7,8];
      methode(i,j)
      subplot(4,4,subInd(j)), plot(x,y),
   end
   subplot(4,4,[11 12,15 16]); plot(x,y)
end
 

_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
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.