Animazione di un grafico

di il
1 risposte

Animazione di un grafico

Salve a tutti,

sono uno studente di ingegneria a cui hanno dato una tesi da svolgere in ambiente matlab, consiste nello studio di un sistema sospensivo e  fin qui tutto ok perché sono tranquillamente riuscito a riprodurre il sistema cinematico mediante rette molto facilmente.

la parte sperimentale della tesi consiste nel produrre un codice che mi permetta di animare questo grafico che ho prodotto, quindi dare movimento a questo sistema sospensivo molto semplice  e di conseguenza con esso debbano variare pure le variabili di interesse, quali centro di rollio e centro di istantanea rotazione (anche essi definiti e riportati sul grafico).

essendo purtroppo alle prime armi con matlab non sono praticamente riuscito ad applicare un consiglio che venne precedentemente discusso in questo gruppo, nonostante abbia seguito alla lettera ciò che c'era scritto..

spero che qualcuno di più esperto mi possa aiutare a capire come dover animare il grafico con il comando for, perché ad oggi purtroppo non sono riuscito a farlo.

nel caso in cui abbiate bisogno di ciò che ho già prodotto sono disponibile a postarlo sulla discussione, magari per mezzo di drive 

1 Risposte

  • Re: Animazione di un grafico

    Salve,

    Per animare un grafico in MATLAB, puoi utilizzare la funzione animate.

    Prima di tutto, devi definire i punti che vuoi visualizzare nel grafico in ciascun frame dell'animazione. Ad esempio, se vuoi animare il movimento di un punto lungo una curva, dovrai definire le coordinate del punto in ciascun frame.

    Successivamente, puoi utilizzare un ciclo for per generare i frame dell'animazione. All'interno del ciclo, puoi utilizzare la funzione plot per disegnare il grafico con i punti definiti in precedenza, e la funzione pause per impostare il tempo di attesa tra un frame e l'altro.

    Infine, puoi utilizzare la funzione animate per creare l'animazione vera e propria. Questa funzione prende come input un vettore con i frame dell'animazione (che puoi generare con il ciclo for), e una serie di opzioni per controllare la velocità dell'animazione e altri aspetti.

    Ecco un esempio di come potresti utilizzare queste funzioni per animare il movimento di un punto lungo una curva:

    % Definisci i punti da visualizzare in ciascun frame
    x = linspace(0, 2*pi, 100);  % Vettore con le ascisse dei punti
    y = sin(x);  % Vettore con le ordinate dei punti
    
    % Crea una figura vuota
    figure;
    
    % Ciclo per generare i frame dell'animazione
    for i = 1:length(x)
      % Disegna il grafico con un solo punto (il punto corrente)
      plot(x(i), y(i), 'o');
      % Imposta il tempo di attesa tra un frame e l'altro (in secondi)
      pause(0.1);
    end
    
    % Crea l'animazione con i frame generati precedentemente
    animate(gcf);
    

    Spero che questo possa esserti d'aiuto. Se hai bisogno di ulteriore assistenza o hai altre domande, non esitare a chiedere!

Devi accedere o registrarti per scrivere nel forum
1 risposte