Figure in sequenza

di il
9 risposte

Figure in sequenza

Dovrei introdurre all'interno di un grafico 3D di partenza, una serie di altre figure 3D in sequenza che compaiano in modo automatico. Come posso fare ?

9 Risposte

  • Re: Figure in sequenza

    La domanda è molto vaga.

    Senza altre informazioni, dovrebbe essere sufficiente creare un ciclo for nel quale, ad ogni iterazione, viene plottata una figura.

    Quando si invoca più di una funzione per la creazione di un grafico nello stesso sistema di assi, di default MatLab cancella il grafico precedente sostituendolo con il nuovo.
    Per ovviare a questo e, quindi, "aggiungere" elementi, devi settare
    
    hold on
    
    prima delle chiamate alle funzioni grafiche o, almeno dopo la prima chiamata ad una funzione grafica.
  • Re: Figure in sequenza

    ask_raf ha scritto:


    Senza altre informazioni, dovrebbe essere sufficiente creare un ciclo for nel quale, ad ogni iterazione, viene plottata una figura.
    Sì, e come dovrei fare ?
  • Re: Figure in sequenza

    Cioè supposto che ho plottato sullo stesso grafico tutte le figure di interesse, come posso visualizzare una per volta ?
  • Re: Figure in sequenza

    Se hai usato un ciclo "for", puoi inserire, dopo l'istruzione per il plottaggio dell'i-esimo grafico, la chiamata alla funzione "pause" specificando come parametro il tempo (in secondi) che vuoi attendere prima che il loop continui con la prossima iterazione e, quindi, con il plottaggio successivo.

    Un semplice esempio n 2D
    
    x=0:360;
    
    hold on
    for i=1:3
        plot(sind(x.*i))
        pause(.3)
    end
    
    se nel loop inserisci le istruzioni riportate in https://it.mathworks.com/help/matlab/ref/imwrite.html#btv452g-1 dovresti riuscire a creare na gif animata.
  • Re: Figure in sequenza

    Io ho inserito le figure all'interno di un grafico mediante i comandi "hold on" ed "hold off". Queste righe di codice le devo inserire all'interno del ciclo for ??
  • Re: Figure in sequenza

    ask_raf ha scritto:


    Se hai usato un ciclo "for", puoi inserire, dopo l'istruzione per il plottaggio dell'i-esimo grafico, la chiamata alla funzione "pause" specificando come parametro il tempo (in secondi) che vuoi attendere prima che il loop continui con la prossima iterazione e, quindi, con il plottaggio successivo.

    Un semplice esempio n 2D
    
    x=0:360;
    
    hold on
    for i=1:3
        plot(sind(x.*i))
        pause(.3)
    end
    
    se nel loop inserisci le istruzioni riportate in https://it.mathworks.com/help/matlab/ref/imwrite.html#btv452g-1 dovresti riuscire a creare na gif animata.

    Quello che voglio fare è questo citato comunque.
  • Re: Figure in sequenza

    CatMAN123456 ha scritto:


    Io ho inserito le figure all'interno di un grafico mediante i comandi "hold on" ed "hold off". Queste righe di codice le devo inserire all'interno del ciclo for ??
    Qualche aiuto ?
  • Re: Figure in sequenza

    Sinceramente non capisco cosa intendi fare.
    Non capisco cosa intendi con l'ultimo post: Io ho inserito le figure all'interno di un grafico mediante i comandi "hold on" ed "hold off". Queste righe di codice le devo inserire all'interno del ciclo for ??

    Di quale ciclo for stai parlando e che relazioni c'è con la parte di grafica che hai scritto?

    Se hai delle figure da plottare in sequenza devi usare un ciclo for per aggiungere una figura ad ogni iterazione.

    Devi usare "hold on" solo se vuoi "aggiungere" al grafico le figure ad ogni iterazione invece di sostituirle; non capisco cosa vuoi ottenere usando "hold on" e "hold off".

    Nell'esempio che ti ho proposto nella risposta precedente tre sinusoidi vengono aggiunte in sequenza al grafico, se elimini l'istruzione "hold on" ad ogni iterazione verrà plottata la nuova sinusoide e quella precedente verrà cancellata.

    Non capisco a cosa ti riferisci quando parli di voler aggiungere "figure" al grafico.
    Che queste "figure" siano grafici, superfici od anche immagini (bmp, jpg) non fa differenza.

    Se non pubblichi la parte rilevante del tuo codice e e dei dati di input che posano consentire di eseguirlo per capire gli eventuali errori e provare a proporre una possibile soluzione non so proprio cosa altro aggiungere.
  • Re: Figure in sequenza

    Risolto
Devi accedere o registrarti per scrivere nel forum
9 risposte