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:
% 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)
Nicht der ist der Beste,
der der Beste von allen ist,
sondern der,
der sich selbst ueberwindet.
Einstellungen und Berechtigungen
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
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.