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

Animation mit Matlab

 

Torsten87
Forum-Anfänger

Forum-Anfänger


Beiträge: 17
Anmeldedatum: 03.06.10
Wohnort: Aachen
Version: R2009a
     Beitrag Verfasst am: 16.12.2010, 18:17     Titel: Animation mit Matlab
  Antworten mit Zitat      
Hallo,
ich möchte die Druckmesssonden in einem Strömungskanal mit Matlab animiren. Da ich noch nie etwas animiert habe, habe ich mich zuerst an einer 2D-Animierung versucht. Könnt ihr mir vielleicht helfen? Es muss irgentwo ein Fehler im Code sein, da zwar eine Animierung läuft sich die Kurve allerdings nicht ändert.
Hier mein Code:
Code:

%%%%%%%%%% Plot über Zeit %%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Einlesen Daten
Einlesen_neu_P

%Zeitabfrage
fprintf('Bitte geben drei Zeitpunkte an: Erstens die Intervallgeschwindigkeit zweitens den Startzeitpunkt und drittens den Endzeitpunkt, jeweils alles in Sekunden\n');
aa=input('');
a=input('');
aaa=input('\n');

%Abständ2 einlesen
[A8 A9]=Abstand;

%Interpolation zwischen den Drücken für den Zeitpunkt
%Erstellen eines Druckvektors
bb=a;
o=1;
while (a<=aaa)
    b=1;
    i=1;
    while(i<=45)
        while(M(b,i)<a)
            n=M(b,i+1);
            v=M(b,i);
            m=M(b+1,i+1);
            k=M(b+1,i);
            b=b+1;
        end
        A((i+1)/2,1)=n+(m-n)*(a-v)/(k-v);
        i=i+2;
        b=1;
    end
    P(o,1)=A(12,1); P(o,2)=A(15,1); P(o,3)=A(18,1); P(o,4)=A(20,1); P(o,5)=A(22,1);
    o=o+1;
    A(:,2)=A8;
    A(:,3)=A9;
    a=a+aa;
end
PP(1,1)=A(12,2); PP(1,2)=A(15,2); PP(1,3)=A(18,2); PP(1,4)=A(20,2); PP(1,5)=A(22,2);


%Visualisierung mit animation
axis([300 500 70 300])
n=((aaa-bb)/aa);
O=moviein(n);
set(gca,'NextPlot','replacechildren');
xlabel('Länge von Anfang Sk [mm]')
ylabel('Druck[mmH2O]')
title('Druckänderung über die Zeit')
for t=1:n
    plot(PP,P(1,1:5))
    O(:,t)=getframe;
end

%Abspielen
movie(O)


Wäre nett wenn mir jemand schnell weiterhelfen könnte.
Gruß Torsten
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.12.2010, 00:13     Titel: Re: Animation mit Matlab
  Antworten mit Zitat      
Hallo Torsten,

Code:

for t=1:n
    plot(PP,P(1,1:5))
    O(:,t)=getframe;
end
 

Das Argument des PLOT-Kommandos hängt nicht von t ab. Deshalb plottest Du natürlich immer das die gleichen Werte.

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.