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

konturlinien bei 2D plot hinzufügen

 

FrankPauers68
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.18
Wohnort: München
Version: R2017b
     Beitrag Verfasst am: 08.10.2018, 16:18     Titel: konturlinien bei 2D plot hinzufügen
  Antworten mit Zitat      
Liebe Matlab-Freunde,

ich habe ein Kennfeld (siehe Anhang) erstellt und möchte Konturlinien konstanten Druckes (pme) von 1 bis 7 bar (nur ganzzahlige) hinzufügen. Ich beiße mir leider die Zähne daran aus und hoffe auf Eure Hilfe.

Der plot wurde mit "pcolor" gemacht. "contourf" hat auch funktioniert und in etwa die Linien beinhaltet, die ich brauche, sah jedoch nicht so schön glatt aus...

Wie kann ich nun den entsprechenden Befehl in mein Skript einfügen? Es sollten am Ende 7 Linien sein.


Vielen Dank im Voraus!
Frank[/b]

pcolor.JPG
 Beschreibung:

Download
 Dateiname:  pcolor.JPG
 Dateigröße:  93.27 KB
 Heruntergeladen:  290 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.434
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.10.2018, 16:32     Titel:
  Antworten mit Zitat      
Hallo,

was passiert, wenn du die in der Doku angegebene Syntax
Code:

verwendest?

Zitat:
Wie kann ich nun den entsprechenden Befehl in mein Skript einfügen?

Um das zu beantworten wäre es hilfreich, den momentan verwendeten Code zu kennen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FrankPauers68
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.18
Wohnort: München
Version: R2017b
     Beitrag Verfasst am: 08.10.2018, 21:03     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Hilfe!

Hier ist der code:

Code:

clc, clear all
data = xlsread('Kennfeld_Daten_SE_Applikation.xlsx', 'Gesamt'); %Messwerte Excel
ID = find(isnan(data(:,1))==0);
x = data(ID,1); %[Drehzahl]
y = data(ID,3); %[Drehmoment]
z = data(ID,4); %[Eff. Mitteldruck]

F = scatteredInterpolant(x,y,z);
[qx,qy] = meshgrid(linspace(min(x),max(x),70),linspace(min(y),max(y),70));
qz = F(qx,qy);

figure(1)
AX = gca;
hold on
pcolor(qx,qy,qz)
shading interp                  
caxis([0 7])

%ab hier nur Kosmetik
grid on                          
grid minor
AX.GridLineStyle = '-'
AX.GridAlpha = 1;
AX.MinorGridLineStyle = '-'
AX.MinorGridAlpha = 0.3;

axis([500 5500 -10 70])          
colormap(jet)                  
c = colorbar;
c.Location='southoutside';
c.Label.String = 'pme [bar]';
set(AX,'FontSize',15);
set(AX,'FontName','Arial');
hold on
plot(x,y,'.k','MarkerSize',7,'MarkerEdgeColor','black')
hold off
xlabel('n [U/min]');
ylabel('M [Nm]');
 



contourf(_,levels) funktioniert (siehe Anhang) und ist auch grob die Richtung, in die es gehen soll. Allerdings sind die Farbübergänge sehr unschön im Vergleich zu pcolor. Deswegen habe ich mich so an pcolor fest gebissen...

contourf(_,levels).JPG
 Beschreibung:

Download
 Dateiname:  contourf(_,levels).JPG
 Dateigröße:  86.7 KB
 Heruntergeladen:  304 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.434
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 08.10.2018, 21:28     Titel:
  Antworten mit Zitat      
Hallo,

jetzt verstehe ich erst das Problem.
Wie wäre es, wenn du über pcolor mit contour (ohne f) nur schwarze Linien drauflegst?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FrankPauers68
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.18
Wohnort: München
Version: R2017b
     Beitrag Verfasst am: 09.10.2018, 08:41     Titel:
  Antworten mit Zitat      
Guten Morgen,

der Hinweis hat mir sehr geholfen, vielen Dank dafür! Habe nun folgendes in meinen code eingebaut:

Code:

[C1,h1] = contour(qx,qy,qz-min(qz(:))+max(qz(:))+2,7,'LineWidth',0.6,'LineColor','black','ShowText','on')
clabel(C1,h1,'Color','k','FontSize',16,'LabelSpacing',800,'FontSmoothing','on','FontName','Arial')
 


Die Konturlinien werden wie gewünscht dargestellt, jedoch stimmt die Beschriftung nicht mit den richtigen Werten überein (siehe Anhang). Sprich, mit dem Colorbar.

Habe ich etwas übersehen?

Viele Grüße
Frank

contour_beschriftung.JPG
 Beschreibung:

Download
 Dateiname:  contour_beschriftung.JPG
 Dateigröße:  114.05 KB
 Heruntergeladen:  281 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
FrankPauers68
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.18
Wohnort: München
Version: R2017b
     Beitrag Verfasst am: 09.10.2018, 12:04     Titel:
  Antworten mit Zitat      
Habe die Zahlenwerte korrigieren können. Den Fehler habe ich mir selber ins Skript geholt...

Jetzt suche ich eine Möglichkeit nur ganzzahlige Druckwerte mit den Konturlinien darzustellen, also von 1 bis 7 bar.

Hier noch der korrigierte code:

Code:

[C1,h1] = contour(qx,qy,qz,7,'LineWidth',0.6,'LineColor','black','ShowText','on')
 




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

Forum-Meister


Beiträge: 24.434
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 09.10.2018, 17:03     Titel:
  Antworten mit Zitat      
Hallo,

ich würde versuchen:
Code:
[C1,h1] = contour(qx,qy,qz,1:7,'LineWidth',0.6,'LineColor','black','ShowText','on')


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
FrankPauers68
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 08.10.18
Wohnort: München
Version: R2017b
     Beitrag Verfasst am: 09.10.2018, 19:31     Titel:
  Antworten mit Zitat      
Das ist es. Vielen Dank für die Hilfe!

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