Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Studierende:
Praktikum - Vergleich von MATLAB und Scilab
Branche: mehrere
IAV GmbH - Berlin, Chemnitz

Abschlussarbeit / Praktikum: Entwicklung Matlab (m/w)
Branche: Informationstechnologie, Elektrotechnik, Elektronik
GIGATRONIK Technologies GmbH - Ulm

Praktikum im Bereich Vorausentwicklung - Aktoren sicherheitsrelevanter Anwendungen
Branche: Fahrzeugtechnik, Fahrzeugteile, Maschinentechnik, Industrietechnik
MAHLE International GmbH - Stuttgart

Masterarbeit - Optimierung von Online erstellten 3D-Modellen
Branche: Luft-, Raumfahrttechnik, Wehrtechnik
MBDA Deutschland - Schrobenhausen

Praktikum / Abschlussarbeit im Bereich Assistenz- und Regelsysteme
Branche: Fahrzeugtechnik, Fahrzeugteile, Luft-, Raumfahrttechnik
Bertrandt Technologie GmbH - Mönsheim bei Weissach

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Grafik-Skalierungs-Frage

 

arminius
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 16.04.18
Wohnort: Italien
Version: ---
     Beitrag Verfasst am: 16.04.2018, 12:29     Titel: Grafik-Skalierungs-Frage
  Antworten mit Zitat      
Hallo!
Ich habe in Scilab einen Plotter geschrieben, um Flugzeugprofile zu plotten und dann als eps auszugeben. Also ich habe hier rund 40 Profile und die Koordinaten lese ich in einem Loop und plotte sie dann.

Als schwierig erwies sich dabei für mich, eine vernünftige Skalierung hinzubekommen.
Nun klappt das alles relativ gut, aber ich bekomme es nicht vernünftig hin, dass um den Plot keine große freie Fläche vorhanden ist (diese bestimmt die bounding Box in eps). Wie heißt hier der Parameter?
Gerade bei dicken Profilen (660er) ist viel zu viel Luft.

Als kleines Nebenproblem wollte ich das Textformat umstellen mit
a.ticks_format = ["","%.2f",""]; , was funktioniert, aber so im Plot nicht dargestellt wird. (ich will an den Achsen immer das gleiche Format 0.10, 0.05 etc und
nicht 0.1, 0.05)

Kritik am Programm willkommen. ich habe das mit der Reihenfolge, wie man das bspw mit dem gcf ... macht nicht völlig verstanden.
Also erst mal lädt man eine default-figure und das Format wird dann modifiziert.

Code:

// Airfoil_Plotter  // Pfade anpassen!!

xp='d:/.../.../scilab/testdir/'; //PATH
files=ls('d:/.../.../scilab/testdir/*.dat')  // Profile Endung .dat
[leng, m] = size(files);
[aa,bb,cc] = fileparts(files(:));
files=bb+cc;

scf(2);               // Fenster-Nummer
clf(2);               //

for i=1:leng    do
datei=files(i);
//datei='fx79w660a.dat'
u = file('open',xp+datei,'unknown');
datei=bb(i)

xdel
name=read(u,1,1,"(A)");
B = read(u,-1,2);
x = B(:,1)
y = B(:,2)
file('close',u)

yminR=min(y);
ymaxR=max(y);

titel="$\huge\sf\bf "+name+"$"
//   xxxxxxxx Sehne Plotten xxxxxxxxx
xd=[0,1];
yd=[0,0];

f=gdf()                         //get('default_figure')
f.figure_position= [0 0]
f.auto_resize="off";           //  Grafik skalieren
thick = (ymaxR-yminR)*1000
disp(thick,datei);
f.axes_size   = [1000 thick];  // Reale Achslaenge
//f.figure_size = [900 thick];

title(titel, 'position',[0.2 0.0], 'background', -2, 'rotation',0);

a=gca()                                   //get current axes
a.box="off";  
a.ticks_format = ["","%.2f",""];           // GEHT NICHT(??)
a.x_location   = "origin";
a.parent.background=-2;
a.font_size = 4;
a.data_bounds=[0,yminR,0;1,ymaxR,0]
a.grid=[1 1]     // gca,[Farbe] Identisch zu: set(gca(),"grid",[1 1]);
a.clip_state="on";
a.tight_limits = ["on","on","on"] // ENG in y-Richtung
//a.y_ticks.labels = ["-0.01";"-0.05";"0.00";"0.05";"0.01";"0.15"]
a.cube_scaling = "off"      //macht ein Quadrat
a.isoview="on"

plot2d(xd, yd, style=1);
plot2d(x, y, style=1,frameflag=4);  // Style=Farbe Linie

p=gce();  //identisch p = get("hdl");get('current_figure') equiv. gcf
p.children.mark_mode  = "off";  // ??
p.children.mark_style = 0;      // Form Punkte (0=nix)
p.children.thickness  = 2;      // Dicke Linie
pp.children.thickness = 3;      // Linie X von 0 bis 1
p.children.mark_foreground = 1; // Farbe Punkte


xs2eps(gcf(),xp+datei+'.eps')  // Plot on EPS
xs2png(gcf(),xp+datei+'.png')  // Check on png

end
 


Beispiel-Profildateien (gekürzt!!) xxx.dat
Code:

AH\ 93\!-\!W\!-\!145
1.00000     0.00033
0.37059     0.11094
0.00000     0.00000
0.22221     -0.03535
1.00000     -0.00162
1.00000     0.00033
 


Code:

FX\ 79\!-\!W\!-\!660A
1.00000     0.04237
0.99893     0.04675
0.43474     0.34602
0.00000     0.00000
0.46730     -0.31896
0.99893     -0.04728
1.00000     -0.04239
 

Code:

NACA\ 64\!-\!618
   1.00000      0.00000
    0.39418      0.11792
    0.00000     -0.00054
   0.00008     -0.00163
    0.32760     -0.06295
    1.00000      0.00000
 
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.