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

Achsen Länge (cm)

 

SoontirFel

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.04.2012, 23:30     Titel: Achsen Länge (cm)
  Antworten mit Zitat      
Hallo,

ich muss einen Matlabplot mit einer genauen Achsenlänge von 16cm für die x-Achse und 6cm für die y-Achse erstellen.

Mit welchem Befehl stell ich das an?

Ich hab leider nur gefunden, wie ich die Fenstergröße in Pixel definieren kann. (mit set (figure, 'position', [...]))

Vielen Dank schonmal für eure Antworten.


tschun
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 73
Anmeldedatum: 05.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2012, 09:54     Titel:
  Antworten mit Zitat      
Hi,

Es gibt für sowohl für figures, als auch für axes eine propertie "units".
Die kann man auf "centimeters" setzen, dann kannst die position in cm angeben
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 25.04.2012, 15:14     Titel: Re: Achsen Länge (cm)
  Antworten mit Zitat      
Hallo SoontirFel,
Zitat:
ich muss einen Matlabplot mit einer genauen Achsenlänge von 16cm für die x-Achse und 6cm für die y-Achse erstellen.

Wie bereits gesagt, kannst Du die Units auf 'cm' stellen. Allerdings hast Du die Ausgabe dann zunächst auf dem Bildschirm. Dabei kann noch die die Eigenschaft ScreenPixelsPerInch wichtig sein:
Code:
get(0, 'ScreenPixelsPerInch')

Wenn Du dann noch in ein PDF-File oder auf Papier drucken möchtest, kann die Ausgabe wieder skliert werden. Bitte erkläre also noch, wo genau die Achsenlänge 16 cm betragen soll.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
SoontirFel

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.04.2012, 22:33     Titel:
  Antworten mit Zitat      
Vielen Dank für die bisherigen Tipps.

Leider ist die Aufgabestellung nicht eindeutig. Ich vermute, dass sich die 16cm bzw. 6cm Achsenlänge auf das figure window beziehen.

Ich soll die Abbildung auch als epsc2 abspeichern. Wie wäre dann der Befehl, um in der Datei die 16cm/6cm gewährleistet zu haben?
 
schneidrian
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.10.2012, 10:00     Titel:
  Antworten mit Zitat      
Hallo Forum,

ich habe ein ähnliches Problem und komme irgendwie nicht weiter. Gibt es eine Möglichkeit in einem 3D Plot die drei Achsen unterschiedlich lang zu machen? Ich meine nicht die Einteilung, Skalierung etc. sondern die "physische" Länge der Achsen. In anderen Worten, auf dem Bildschirm gemessen --> z.B. X = 6cm, Y = 4cm und Z = 2cm, eine Einteilung in anderen Einheiten ginge auch, muss ich halt umrechnen lassen.
Hat jemand das schon mal so gemacht, oder kann jemand hier helfen? In den Properties finde ich nix passendes.

Vielen Lieben Dank im Voraus Leute!

VG
Flo
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 10.10.2012, 16:11     Titel:
  Antworten mit Zitat      
Hallo schneidrian,

Die FGrage ist nicht klar. Die Achsen werden ja noch perpesktivisch verzerrt. Was bedeutet dann genau "Z = 2cm"?
Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
schneidrian
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.10.2012, 13:02     Titel:
  Antworten mit Zitat      
Hallo Jan,

bitte entschuldige die Verspätung.

Also die Verzerrung ist mir egal, ich will einfach nur, dass ich jeder Achse eine eigene Länge zuweisen kann. Ob die dann im Raum verzerrt wird oder nicht, ist mir egal.
Gibt es eine Funktion um jeder Achse eine Länge zuweisen zu können? So als weiteres Beispiel, ich will eine rel. große XY Ebene und eine sehr kurze Z-Achse dazu, der Plot soll also sehr flach sein, dafür breit. Vermutlich geht das auch über die Gesamtgröße des sich öffnenden Fensters, aber im Plot wäre mir lieber.

Danke schon mal fürs grübeln Wink

Florian
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.10.2012, 09:07     Titel:
  Antworten mit Zitat      
Hallo schneidrian,

Ich verstehe immer noch nicht, was das "Zuweisen einer Länge" genau bedeutet. Suchst Du nach dem ZLIM-Befehl, um Start- und Endpunkt der Z-Achse zu definieren? Oder möchtest Du den "DataAspectRatio" des AXES-Objekts anpassen?

Es gibt 4 unterschiedliche Aspekte:
1. Die absolute Skalierung der Achse, die die TickLabels beeinflußt
2. Die relative Skalierung zwischen den Achsen (DataAspectRatio)
3. Die Skalierung des AXES-Objekts relative zum Fenster (PlotBoxAspectRatio)
4. Die perspektivische Verzerrung, die von der Kamera-Position abhängt.

Möglicherweise wäre ein Bild hilfreich.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
schneidrian
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2012, 17:48     Titel:
  Antworten mit Zitat      
Hallo Jan,

Danke dir!
In deiner Auswahl ist wohl der Punkt 3 das was ich suche, ich werde mich dieses We mal damit spielen. Anbei noch ein Bild zur Erklärung.

Das die Visualisierung der Ergebnisse immer am meisten Arbeit machen muss... Wink

Achsen.png
 Beschreibung:

Download
 Dateiname:  Achsen.png
 Dateigröße:  23.26 KB
 Heruntergeladen:  976 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.10.2012, 18:46     Titel:
  Antworten mit Zitat      
Hallo schneidrian,

Ist die Frage damit bereits gelöst oder nicht?
Falls nicht, nochmal ganz explizit:
Code:
AxesH = axes('PlotBoxAspectRatio', [1,1,0.1]);
view(3)

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
schneidrian
Forum-Anfänger

Forum-Anfänger


Beiträge: 48
Anmeldedatum: 20.09.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.10.2012, 19:52     Titel:
  Antworten mit Zitat      
Hallo Jan,

JA, ich habe es eben versucht, genau das habe ich gesucht!

Ganz vielen Lieben Dank und noch ein schönes Wochenende!
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.