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

Einfacher Plot geht nicht richtig

 

Robert12345

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2011, 17:53     Titel: Einfacher Plot geht nicht richtig
  Antworten mit Zitat      
Hallo, ich bin ein Einsteiger in Matlab und wollte ein wenig rumspielen. Deshalb hab ich mir dieses Programm geschrieben:

Code:

clc;
clear;
clear all;

y=1:0.01:100;
x=1:0.01:100;


    figure(1)
    subplot(1,1,1);
    set(gca,'color','w');
   
    plot=line(x,y,'linewidth',1);
   
    grid on
    hold on
   
       
    for i=1:length(x);
       
   
        p = line('marker','o',...                                       % Definition der Punkte
            'markerfacecolor',[0 0 0],...
            'markersize',5,...
            'erasemode','xor');
       
           
       
        set(p,'Xdata',x(i),'Ydata',y(i));
       
       hold on
       
       
       
    end;
 

Leider will das Programm nicht so wie ich. Die Idee war eine Linie zu Zeichnen auf der dann ein Punkt entlang läuft. Aber folgendes läuft nicht wie ich es gerne hätte

1. Der Punkt wird nicht mehr gelöscht nachdem er eingezeichnet wurde (oder nur teilweise), habe auch schon die verschiedenen erasemode versucht.

2. Warum läuft die Grafik 2 mal durch? Ich könnte verstehen wenns einmal wäre oder in einer Dauerschleife, aber so kann ichs mir nicht erklären.


Schöne Grüße

Robert


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.02.2011, 18:39     Titel:
  Antworten mit Zitat      
Hallo,

zum einen verstehe ich nicht, warum du das Linienobjekt jedes Mal neu definierst. Zum anderen brauchst du DRAWNOW, damit die Linie auch gezeichnet wird.

Code:

clc;
clear;
close all;

y=1:0.01:100;
x=1:0.01:100;


figure(1)
subplot(1,1,1);
set(gca,'color','w');

plot=line(x,y,'linewidth',1);

grid on
hold on

p = line('marker','o',... % Definition der Punkte
'markerfacecolor',[0 0 0],...
'markersize',5,...
'erasemode','xor');

for i=1:length(x);
set(p,'Xdata',x(i),'Ydata',y(i));
drawnow
end;
 


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
 
Robert12345

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2011, 18:59     Titel:
  Antworten mit Zitat      
Hey, super, genau so wollte ich es.

ich habe den Punkt immer wieder neu definiert da ich dachte so bekomme ich die animation hin (Punkt an Stelle 1 hinzeichnen, löschen, Punkt an Stelle 2 hinzeichnen.....)

Vielen Dank für die Hilfe, ich schau mir gleich mal durch ob ich alles kapiere.

Grüße
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.02.2011, 23:07     Titel: Re: Einfacher Plot geht nicht richtig
  Antworten mit Zitat      
Hallo Robert,

Nur eine kleine Anmerkung:
Code:

% Das bringt hier gar nichts, baer der unbedachte Einsatz von
% CLEAR führt bei Anfängern oft zu Problemen:
clc;
clear;
clear all;

% subplot(1,1,1);  => Besser:
axes;

% "plot" ist ein Matlab-Kommand. Die Verwendung des Namens verhindert,
% dass man den Befehl später noch benutzen kann. Besser:
lineH = line(x,y,'linewidth',1);
 

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Robert12345

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.02.2011, 01:59     Titel:
  Antworten mit Zitat      
Hallo,

meinst du das CLEAR einfach weglassen?

und statt SUBPLOT einfach AXES verwenden?

Grüße Robert
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 24.02.2011, 15:37     Titel:
  Antworten mit Zitat      
Hallo Robert,

Zitat:
meinst du das CLEAR einfach weglassen?
und statt SUBPLOT einfach AXES verwenden?

Genau.
Gruß, Jan
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.