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

Unterschiedliche LineSpecs in einem Diagramm

 

Robert
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 29.04.2009, 13:35     Titel: Unterschiedliche LineSpecs in einem Diagramm
  Antworten mit Zitat      
Hi Leute,

bin wie gesagt heute ein bisschen am Plotten und rumprobieren.
Eine Sache bekomm ich momentan nicht hin. Und zwar unterschiedliche LineSpec. In der Matlab Hilfe steht ja folgendes:
"You can mix Xn,Yn pairs with Xn,Yn,LineSpec triples;
for example, semilogx(X1,Y1,X2,Y2,LineSpec,X3,Y3)"
Genau das möchte ich tun:
Code:

semilogx(...
vol_generator_voltages,rec_generator_voltages,...
vol_generator_voltages,min_generator_voltages,...
vol_generator_voltages,max_generator_voltages,...
x,y,...
'LineWidth',1,...
generator_rating,recommend_generator_voltage,...
'ko',...
'MarkerFaceColor',[0 0 0],...
'MarkerSize',10,...
'LineWidth',2);
xlabel('Generator Rating [MVA]','fontWeight','bold');
ylabel('Rated Voltage [kV]','fontWeight','bold');
grid on;
 


Aber wie gesagt: Es funktioniert nicht Sad

??? Error using ==> semilogx
String argument is an unknown option.

ist die Fehlermeldung von Matlab.

Kein Stress für euch, oder? Ich denke, es fehlt an einer Kleinigkeit...
Noch wichtig: Wenn ich die erste LineSpec ('LineWidth',1,...) Zeile weglasse, funktioniert es. Also am Ende nimmt er meine LineSpecs. Nur die gelten dann dummerweise für alle Linien...

Grüße
Robert
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 29.04.2009, 13:48     Titel:
  Antworten mit Zitat      
Hallo Robert,

mit LineSpec sind hier Strings wie das 'ko' gemeint, also keine Paramater-Wert-Paare. So sollte es gehen:

Code:
p1 = semilogx(x1, y1, 'LineWidth', 1, ...);
hold on
p2 = semilogx(x2, y2, ...);
hold off


Das p1 und p2 ist hilfreich, falls später noch mit den Linien weitergearbeitet werden soll.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 29.04.2009, 13:54     Titel:
  Antworten mit Zitat      
Hallo Harald,

ok, das ist ein guter Ansatz. Aber wozu brauche ich hold on / hold off? Dient das dazu, dass die Linien dann alle in den gleichen Plot kommen, oder?
Wie geht dass dann weiter bei drei oder mehr Linien?

Code:

p1 = semilogx(x1, y1, 'LineWidth', 1, ...);
hold on
p2 = semilogx(x2, y2, ...);
p3 = semilogx(x3, y3, ...);
hold off
 

Wäre das so richtig?

Beste Grüße
Robert
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 29.04.2009, 14:08     Titel:
  Antworten mit Zitat      
Moin,

im Prinzip, ja. Wenn du allerdings möchtest das nicht alle Kurven die gleiche Farbe haben dann solltest du HOLD ALL verwenden:
Code:
hold all
p1 = semilogx(x1, y1, 'LineWidth', 1, ...);
p2 = semilogx(x2, y2, ...);
p3 = semilogx(x3, y3, ...);
hold off


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Robert
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 29.04.2009, 14:12     Titel:
  Antworten mit Zitat      
Besten Dank!
Thema darf als beantwortet markiert werden Cool
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 29.04.2009, 14:24     Titel:
  Antworten mit Zitat      
Dann mach das doch Wink

Die Themen werden hier nicht von den Moderatoren mit einem Status versehen, sondern von jedem!
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Bane
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 09.06.2009, 16:27     Titel: Linespecs aus Matrix abrufen
  Antworten mit Zitat      
Hallo,

ich möchte verschieden Linespecs, die ich in einer Matrix gespeichert habe, in einem loop abrufen.
Code:
linie = { '-b', '-r', '-g', '-k', '-m';
         '--b','--r','--g','--k','--m';
          ':b', ':r', ':g', ':k', ':m';
          '.b', '.r', '.g', '.k', '.m';
         '-.b','-.r','-.g','-.k','-.m'};    % Linienfarbe und Stil

plot(x, y,linie(1,1));    % Test

Daraufhin bekomme ich den Fehler:
Zitat:
??? Error using ==> plot
Conversion to double from cell is not possible.

Was kann ich da machen?

Schönen Gruß, Phil
Private Nachricht senden Benutzer-Profile anzeigen
 
Robert
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 14.11.08
Wohnort: Istanbul
Version: 2010b
     Beitrag Verfasst am: 09.06.2009, 16:52     Titel:
  Antworten mit Zitat      
Hallo Phil!

Hab ein bisschen rumgespielt, kommt aber nicht drauf...
Wäre aber interessant zu wissen. Hört sich so an, als könnte man das mal gebrauchen Wink

Grüße
Robert
Private Nachricht senden Benutzer-Profile anzeigen
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.022
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2023b
     Beitrag Verfasst am: 09.06.2009, 17:22     Titel:
  Antworten mit Zitat      
Moin,

Da es sich um ein Cell-Array handelt und ihr auf die Elemente der Celle zugreifen wollt, müsst ihr auch beim indizieren die geschweiften Klammern nehmen:
Code:
linie = { '-b', '-r', '-g', '-k', '-m';
         '--b','--r','--g','--k','--m';
          ':b', ':r', ':g', ':k', ':m';
          '.b', '.r', '.g', '.k', '.m';
         '-.b','-.r','-.g','-.k','-.m'};    % Linienfarbe und Stil

plot(1:.1:10,sin(1:.1:10),linie{1,1});


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?

Zuletzt bearbeitet von steve am 09.06.2009, 18:03, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Bane
Forum-Anfänger

Forum-Anfänger


Beiträge: 34
Anmeldedatum: 09.06.09
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 09.06.2009, 17:37     Titel:
  Antworten mit Zitat      
Vielen Dank Alex und auch Robert!
Der Teufel steckt wie immer im Detail!
Gruß, Phil
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.