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

3 Y-Achsen in einem Diagramm

 

Schraubenheini
Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 12.03.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.03.2019, 15:26     Titel: 3 Y-Achsen in einem Diagramm
  Antworten mit Zitat      
Hallo liebe Matlab Gemeinde Very Happy

kurz vorab mein Hintergrund:

Ich bin Student, habe Messwerte im Zugversuch ermittelt und darf nun ein Diagramm erstellen, für das mir eine entsprechende Figure Datei gegeben wurde. Diese optimiere ich etwas, um sie auf meine Bedürfnisse anzupassen.
Vorab sei aber gesagt, dass ich ein ziemlicher Matlab noob bin und sich meine Kenntnisse wirklich nur auf die Basics beschränken. Sorry dafür Sad


Mein Problem:
Ich habe 2 Matrizen mit Messwerten und eine Figure Datei. Aus den Matrizen möchte ich 3 Kurven in einem Diagramm abbilden, wobei sich jede Kurve auf eine andere Y-Achse bezieht. X bleibt für alle gleich (die Zeit t). Die Y-Achsen müssen außerdem einzeln skaliert werden können, damit am Ende alle Kurven zu sehen sind. Ich hoffe die angehängten Dateien verdeutlichen mein Problem.

Lösung meines Problems:
Ja ich habe bereits nach Lösungen gegoogelt und auch schon sämtliche Ansätze vom Matlab File Exchange ausprobiert. Die angebotenen Lösungen haben nie geklappt, weil irgendwelche Fehlermeldungen aufgetaucht sind. Einfache Fehler kann ich beheben, aber bei irgendwelchen abgespaceten Codes steige ich aus.
Was mir helfen würde wäre eine kleine Anleitung, die mir sagt wo ich welchen Code einfügen muss. Ich habe das Gefühl so schwer kann es eigentlich nicht sein.

Ich wäre euch wirklich sehr dankbar für euer Schwarmwissen und bitte um Verzeihung für mein Matlab- und Programmierunvermögen Laughing


Grüße
Schraubenheini Wink

Diagramm mit 3 Y-Achsen.png
 Beschreibung:

Download
 Dateiname:  Diagramm mit 3 Y-Achsen.png
 Dateigröße:  50.74 KB
 Heruntergeladen:  362 mal
Diagramm mit 3 Y-Achsen.mat
 Beschreibung:

Download
 Dateiname:  Diagramm mit 3 Y-Achsen.mat
 Dateigröße:  1.36 MB
 Heruntergeladen:  368 mal
Diagramm mit 3 Y-Achsen.fig
 Beschreibung:

Download
 Dateiname:  Diagramm mit 3 Y-Achsen.fig
 Dateigröße:  3.69 MB
 Heruntergeladen:  351 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.03.2019, 15:37     Titel:
  Antworten mit Zitat      
Hallo,

es gibt da ja einige Funktionen, die von der Community sehr gut bewertet sind. Wenn es da Fehlermeldungen gibt, ist eine falsche Anwendung der Funktion naheliegend. Deswegen bitte genau angeben:
1. welche Funktion verwendest du
2. wie verwendest du sie? (möglichst ein reproduzierbares Beispiel)
3. welche Fehlermeldung bekommst du?

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
 
Schraubenheini
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 4
Anmeldedatum: 12.03.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.03.2019, 19:35     Titel:
  Antworten mit Zitat      
Also:

1.
Ich habe da schon so einiges über plotyyy gehört und wollte das Beispiel von
https://de.mathworks.com/matlabcent.....7-plotyyy?s_tid=srchtitle
ausprobieren.

3.
Bei dem Beispiel erschien dann die Fehlermeldung:

Out of memory. The likely cause is an infinite recursion within the program.

Error in plotyyy (line 20)
[ax,hlines] = plotyyy(x,y1,x,y2,x,y3,ylabels);


Damit konnte ich nicht viel anfangen und war raus...

2.
Ich habe in meiner vorhandenen figure Datei rechtsgeklickt und mir den Code anzeigen lassen, welcher der nachfolgende ist. Ich weiß nur leider nicht wie und wo ich da plotyyy einbinden kann.

Code:

function createfigure(PK01_Q1, PK01_Q2, PK01_Z1, YMatrix1)
% CREATEFIGURE(PK01_Q1, PK01_Q2, PK01_Z1, YMatrix1)
%  PK01_Q1:  vector of x data
%  PK01_Q2:  vector of y data
%  PK01_Z1:  vector of x data
%  YMATRIX1:  matrix of y data

%  Auto-generated by MATLAB on 13-Mar-2019 18:27:54

% Create figure
figure('InvertHardcopy','off','Color',[1 1 1]);

% Create axes
axes1 = axes;
hold(axes1,'on');

% Create plot
plot(PK01_Q1,PK01_Q2,'DisplayName','Vorspannkraft-Zeit','LineWidth',1,...
    'Color',[0.20392157137394 0.301960796117783 0.486274510622025]);

% Create multiple lines using matrix input to plot
plot1 = plot(PK01_Z1,YMatrix1,'LineWidth',1);
set(plot1(1),'DisplayName','Maschinenkraft-Zeit',...
    'Color',[0.737254917621613 0.737254917621613 0]);
set(plot1(2),'DisplayName','Verschiebung-Zeit',...
    'Color',[0.737254917621613 0 0.737254917621613]);

% Create ylabel
ylabel('Verschiebung \it \delta_{s}  [mm]','FontAngle','italic');

% Create xlabel
xlabel('Zeit \itt [s]','FontAngle','italic');

% Uncomment the following line to preserve the Y-limits of the axes
% ylim(axes1,[0 0.2]);
% Uncomment the following line to preserve the Z-limits of the axes
% zlim(axes1,[-1 1]);
box(axes1,'on');
% Set the remaining axes properties
set(axes1,'FontAngle','italic','FontName','Times New Roman','FontSize',14,...
    'XGrid','on','XMinorTick','on','YGrid','on');
% Create legend
legend1 = legend(axes1,'show');
set(legend1,...
    'Position',[0.718229166666669 0.135071090047392 0.174999999999999 0.212834170414777],...
    'FontSize',12.6,...
    'EdgeColor',[0.15 0.15 0.15]);
 


Danke schon mal im voraus für die Hilfe Very Happy
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 13.03.2019, 20:48     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Out of memory. The likely cause is an infinite recursion within the program.

Die Fehlermeldung sieht so aus, als ob du den Funktionsaufruf in die Funktion geschrieben hättest. Das ist nicht sinnvoll. Der Funktionsaufruf muss vom Command Window oder einem separaten Skript erfolgen.

Zitat:
Ich weiß nur leider nicht wie und wo ich da plotyyy einbinden kann.

plotyyy da einzubinden ist nicht sinnvoll. Stattdessen sollte plotyyy aufgerufen werden, wie z.B. in dem Beispiel im Kommentar.

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