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

Videoartiges Plotten mehrerer Vektoren pro Plot

 

jasicha
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 16.10.2014, 14:48     Titel: Videoartiges Plotten mehrerer Vektoren pro Plot
  Antworten mit Zitat      
Hallo,
eine schwere beschreibung meines Problems in der Überschrift.

Ich möchte folgendes machen:
Ich möchte eine figure erstellen in die ich mehrere Vektoren plotte. Anschließend sollen die Vektoren gelöscht werden und andere in die selbe figure geplottet werden, sodass eine Art Video entsteht.

Das funktioniert soweit, nur über die Befehle hold on und hold off werden nicht nur die Vektoren sondern auch die Einstellungen der 'Axes' auf default gesetzt.

Das ganze müsste irgendwie mit Newplot & Nextplot umzusetzten sein, nur leider weiß ich nicht wie??

Code:
figure;
grid on

% Definition der Achsen
axis([0 10,0 10])

% Beschriftungen
title ('Verschiebungsvektoren','fontsize',14,'FontName','arial')
xlabel('x-Richtung','fontsize',14,'FontName','arial')
ylabel('y-Richtung','fontsize',14,'FontName','arial')

% Andere Einstellungen
set(window,'color', 'white','Resize','off','Units','centimeters','Position',[1, 1, 32, 20])
set(gca,'LineWidth',2,'fontsize',22,'FontName','arial','Units','centimeters','XTick', 0:1:10,'YTick', 0:1:10,'Position',[2.5    2.5   28 16])



% Schleife zum Plotten

for i=1:length(pos)  
for p = 1:length(pos(i).x)
x=[pos(i).x(p);cfo(i).matrix(p,19)];
y=[pos(i).y(p);cfo(i).matrix(p,20)];
plot(x,y);
i=i+1;
hold on
end
pause(0.5)
hold off
end
Private Nachricht senden Benutzer-Profile anzeigen


Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 16.10.2014, 15:25     Titel:
  Antworten mit Zitat      
Hallo,

kannst du Testdaten für pos bereitstellen?
Private Nachricht senden Benutzer-Profile anzeigen
 
jasicha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 16.10.2014, 18:51     Titel:
  Antworten mit Zitat      
ja klar, anbei die die beiden Größen pos und cfo im *.mat file. Diese habe ich etwas verkleinert damit ich nicht so viele MB hochladen muss. Sollte aber funktionieren.

Gruß, Jan

test.rar
 Beschreibung:

Download
 Dateiname:  test.rar
 Dateigröße:  446.69 KB
 Heruntergeladen:  323 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Nras
Forum-Meister

Forum-Meister


Beiträge: 608
Anmeldedatum: 21.02.12
Wohnort: ---
Version: 7.12.0.635 (R2011a)
     Beitrag Verfasst am: 17.10.2014, 07:29     Titel:
  Antworten mit Zitat      
Hallo,

pos ist leer.
Private Nachricht senden Benutzer-Profile anzeigen
 
jasicha
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 22.10.12
Wohnort: ---
Version: 2014a
     Beitrag Verfasst am: 29.10.2014, 10:40     Titel:
  Antworten mit Zitat      
Einschuldigt die späte Rückmeldung. Ich habe das Problem gelöst und einen "Videoplot" hinbekommen.

Verwendet habe ich zur Pfeildastellung die funktion "Arrow3"

Anbei mein Skript

Code:

%% Plotten
% mit function arrow3
clear all

load data.mat

for m=1:length(vec)
    if isempty(vec(m).x2)
    else
p1=[vec(m).x2,vec(m).y2];
p2=[vec(m).x1,vec(m).y1];


colormap default

% arrow3(p1,p2,s,w,h,ip,alpha,beta)
% w = Pfeil-Breite (default = 1)
% h = Pfeil-Länge (default = 3w)

arrow3(p1,p2,'|',1,3,[],[],[])%,[],[],0
colorbar ('UserData',0:0.1:1)
% Formatieren der figure
    grid on
   
   set(gcf,'color',[1,1,1])
   
% Formatieren der axes
    set(gca,'color',[1,1,1],'XLim',[-80 80],'YLim',[-80 80],'XTick',-80:10:80,'YTick',-80:10:80)
 
% Beschriftungen
    title('Verschiebungsvektoren der Treat-Blocks')
    xlabel('mm')
    ylabel('mm')
pause(0.08)
    end
    disp(m)
end

 


Ein Problem besteht allerdings noch.

Wie skaliere ich die Colorbar, dass Sie bei jedem neuen Aufruf anpasst. Desweiteren sollten auch die entsprechenden Farben der Vektorgrößen auf die vordefinierte Colorbar angepasst werden.

Beispiel:
Ich habe 1000 Zeitschritte in dem ein Rad auf den Boden gepresst wird. Im Kontaktbereich ändert sich sowohl die Anzahl der Kontaktelemente als auch die "größe" der Verschiebung. Um aber visuel die Verschiebung mit der Zeit im Plot darzustellen ist es erforderlich das die Farbe der geplotteten Pfeile zwischen 0 und der maximalen im gesamten Zeitbereich auftretenden Verschiebung generiert wird.

Vielleicht kann mir ja jemand helfen??

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