An sich funktioniert die Version auch bei mir, bis auf die Update Funktion der Cursor wenn man den Plot geändert hat. Mit folgendem Bsp. teste ich die Funktion:
Code:
% Example % Set up some interesting data load handel
Ns = 2^12;
Y = fft(y,Ns);
Y = 2/Ns*abs(Y(1:Ns/2));
df = Fs/Ns;
f = (0:1:Ns/2-1)*df;
% Plot it figure;
axh = gca;
plot(f,100*[Y sqrt(Y)]) title('My cursor example');
xlabel('Frequency (Hz)');
ylabel('Amplitude');
axis([012000inf]);
% Turn on cursors
dualcursor
% wait a bit before update plot
h = waitbar(0,'Please wait...');
steps = 1000;
forstep = 1:steps
% computations take place here waitbar(step / steps) end close(h)
%dualcursor % zum test 'selectline' diese Zeile nutzen und nächste % Zeile auskommentieren -> im Plot das blaue Signal anklicken
dualcursor('update',[],[],[],axh)
da cursors empty is (0x0 GraphicsPlaceholder) und somit der Zugriff auf cursors(1) in der nächsten Zeile dann den oben genannten Fehler verursacht. Nutze ich allerdings die vorletzte Zeile anstatt der letzen in meinem Bsp. und klicke dann das blaue Signal an, wird anschließend der Status 'SelectedLine' ausgeführt, wo ebenfalls der Aufruf dualcursor('update',...) verwendet wird. Hier gibt es dann aber keine Fehler.
Ich habe die Autorin schon angeschrieben, allerdings kann sie mir momentan auf Grund mangelnder Zeit nicht behilflich sein. Evtl. hat ja jemand von euch einen Lösungsvorschlag.
huhu du hilfst hier so viel mit da ist doch schön das man hier auch vielleicht helfen kann.
ich denke das problem ist der 2. plot befehl ohne das die cursor neu gesetzt werden. ich glaube die update funktion ist wirklich dafür da wenn du die daten geändert hast. also über set.
Code:
% Example % Set up some interesting data load handel
Ns = 2^12;
Y = fft(y,Ns);
Y = 2/Ns*abs(Y(1:Ns/2));
df = Fs/Ns;
f = (0:1:Ns/2-1)*df;
%Plot it
figure;
axh = gca;
h1=plot(f,100*[Y sqrt(Y)]) ;
title('My cursor example');
xlabel('Frequency (Hz)');
ylabel('Amplitude');
axis([012000inf]);
% Turn on cursors
dualcursor
% % wait a bit before update plot
h2 = waitbar(0,'Please wait...');
steps = 1000;
forstep = 1:steps
% computations take place here waitbar(step / steps) end close(h2) set(h1,'XData',f,'YData',100*Y) grid on
%dualcursor % zum test 'selectline' diese Zeile nutzen und nächste % Zeile auskommentieren -> im Plot das blaue Signal anklicken
dualcursor('update',[],[],[],axh)
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.