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

Ansprache verschiedener Achsen

 

Matze E.
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.08.09
Wohnort: ---
Version: R2009a
     Beitrag Verfasst am: 10.09.2009, 09:57     Titel: Ansprache verschiedener Achsen
  Antworten mit Zitat      
Hallo mal wieder Embarassed

nachdem ich nun ein Problem gelöst habe, stehe ich vor einem neuen. Kurz zum Rahmen: Ich habe eine GUI programmiert, die auf Knopfdruck Bilder und vier Signale aufzeichnet. Das klappt auch wunderbar. Nun habe ich aber bei der Ausgabe der Signale ein Problem mit der Zuweisung der Achsen.

Zu Beginn des Programms, also beim Aufruf der GUI, habe ich zum Austesten eine Sinuskurve ausgegeben. Der Code dazu steht in der OpeningFcn der GUI:
Code:
t = 0:0.1:2*pi;

% Anpeilen der 1. Achse zur Signalausgabe
axes(handles.axes_signal1)
hold on
plot(t,sin(t),'c+:')
grid on
hold off
ylabel('y, hallo1')
xlabel('x, Abszisse')
% Anpeilen der 2. Achse zur Signalausgabe
axes(handles.axes_signal2)
hold on
plot(t,sin(t),'gd')
grid on
hold off
ylabel('y, hallo2')
xlabel('x, Abszisse')
% Anpeilen der 3. Achse zur Signalausgabe
axes(handles.axes_signal3)
hold on
plot(t,sin(t),'rh')
grid on
hold off
ylabel('y, hallo')
xlabel('x, Abszisse')
% Anpeilen der 4. Achse zur Signalausgabe
axes(handles.axes_signal4)
hold on
plot(t,sin(t),'b.--');
grid on
hold off
ylabel('y, Ordinate')
xlabel('x, Abszisse')


Wie gesagt, beim Aufruf der GUI funktioniert alles bestens. Nach der Aufnahme der Signale möchte ich nun natürlich in den Achsen die Signale ausgeben. Der Code dazu steht direkt beim Button nach der Aufnahme der Signale:
Code:
   data = getdata(ni);
    % ----------- Signalausgabe auf den einzelnen Achsen -----------------
    % Anpeilen der 1. Achse zur Signalausgabe
    % axes(handles.axes_signal1)
    hold on
    plot(handles.axes_signal1, data(:,1),'c')
    grid on
    hold off
    ylabel('y, hallo1')
    xlabel('x, Abszisse')
    % Anpeilen der 2. Achse zur Signalausgabe
    % axes(handles.axes_signal2)
    hold on
    plot(handles.axes_signal2, data(:,2),'g')
    grid on
    hold off
    ylabel('y, hallo2')
    xlabel('x, Abszisse')
    % Anpeilen der 3. Achse zur Signalausgabe
    % axes(handles.axes_signal3)
    hold on
    plot(handles.axes_signal3, data(:,3),'r')
    grid on
    hold off
    ylabel('y, hallo')
    xlabel('x, Abszisse')
    % Anpeilen der 4. Achse zur Signalausgabe
    % axes(handles.axes_signal4)
    hold on
    plot(handles.axes_signal4, data(:,4),'b');
    grid on
    hold off
    ylabel('y, Ordinate')
    xlabel('x, Abszisse')


Das Problem ist nun folgendes: So, wie der Code hier steht, bekomme ich die Ausgabe der Signale in den Achsen wie gewünscht, aber noch zusätzlich nur ein Figure, in dem sowohl grid als auch Beschriftung der Achsen sich mit fortschreitendem Programm verändert (im Debugmode überprüft). Wenn ich nun die ersten drei Zeilen für alle Achsen wie folgt verändere, dann bekomme ich alles in einem figure ausgegeben und meine Achsen bleiben leer.

Code:
   axes(handles.axes_signal4)
    hold on
    plot(data(:,4),'b');



Edit: Also zugegeben, obwohl ich der festen Meinung war, schon alle möglichen Hilfen im Forum zu diesem Thema gelesen zu haben, habe ich gerade doch eine gefunden, die mir bei einem Teilproblem hilft. Eine einfach Veränderung sorgt zumindest für die Benennung der Achsen. Beispielhaft für eine Achse gezeigt:
Code:
   % Anpeilen der 2. Achse zur Signalausgabe
    %axes(handles.axes_signal2)
    hold on
    plot(handles.axes_signal2, data(:,2),'g')
    grid on
    hold off
    ylabel('y, hallo2','Parent',handles.axes_signal2)
    xlabel('x, Abszisse','Parent',handles.axes_signal2)


Jetzt fehlt mir aber immer noch das grid in den einzelnen Achsen. Kann mir da jemand helfen?

edit end



Kann mir bitte jemand meinen Fehler aufzeigen?
Vielen Dank im Voraus für die Mühe

Matthias[/code][/b]
_________________

Nicht der ist der Beste,
der der Beste von allen ist,
sondern der,
der sich selbst ueberwindet.
Private Nachricht senden Benutzer-Profile anzeigen


LittleX
Forum-Guru

Forum-Guru


Beiträge: 494
Anmeldedatum: 14.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.09.2009, 18:14     Titel:
  Antworten mit Zitat      
Hallo,

was Du einmal versuchen könntest, ist auch bei hold on and grid on explizit anzugeben, auf welche Achse sich die Befehle auswirken sollen:

Code:

grid(axes_handle,'on')
hold(axes_handle,'on')
 



Viele Grüße,

LittleX
Private Nachricht senden Benutzer-Profile anzeigen
 
Matze E.
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 06.08.09
Wohnort: ---
Version: R2009a
     Beitrag Verfasst am: 10.09.2009, 18:30     Titel:
  Antworten mit Zitat      
Es funktioniert ^^

Vielen Dank
Matthias
_________________

Nicht der ist der Beste,
der der Beste von allen ist,
sondern der,
der sich selbst ueberwindet.
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.