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

Fehlermeldung bei dualcursor Funktion aus mathworks-FEX

 

DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 02.10.2015, 12:00     Titel: Fehlermeldung bei dualcursor Funktion aus mathworks-FEX
  Antworten mit Zitat      
Hallo goMatlab-User,

ich möchte gern folgende Dualcursor Funktion benutzen: http://www.mathworks.com/matlabcent.....eexchange/2875-dualcursor

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([0 1200 0 inf]);

% Turn on cursors
  dualcursor
% wait a bit before update plot  
  h = waitbar(0,'Please wait...');
  steps = 1000;
  for step = 1:steps
      % computations take place here
      waitbar(step / steps)
  end
  close(h)

  plot(f,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)
 


Beim Aufruf dualcursor('update',...) erhalte ich dann folgende Fehlermeldung:

Code:
Index exceeds matrix dimensions.

Error in dualcursor (line 611)
        cd1 = getappdata(cursors(1),'Coordinates');

Error in test_cursor (line 34)
  dualcursor('update',[],[],[],axh)


Das Problem liegt in der Zeile 609 von dualcursor.m...

Code:
cursors = findobj(axh,'Tag','Cursor');


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.

Schon mal vielen Danke für eure Hilfe und Gruß,

DSP
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 02.10.2015, 13:05     Titel:
  Antworten mit Zitat      
huhu Smile 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([0 1200 0 inf]);

% Turn on cursors
  dualcursor
%
% wait a bit before update plot  
  h2 = waitbar(0,'Please wait...');
  steps = 1000;
  for step = 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)
 

läuft bei mir durch.
grüße
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Themenstarter

Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 02.10.2015, 14:27     Titel:
  Antworten mit Zitat      
Vielen Dank für deine Hilfe Winkow!
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 - 2025 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.