Nella prima domanda hai scritto
vorrei sapere come posso creare un grafico animato nel piano (X,Y). Devo plottare due variabili che sono dei vettori.
Nell'ultima hai scritto:
pensavo che il fatto della presenza di più grafici non influisse
se si tratta di plottare più grafici con i dati memorizzati in matrici e non in vettori, certo che "influisce".
Ad ogni modo, se hai i dati disponibili all'interno di matrici o se li leggi da files di testo, vale l'esempio di codice che ti ho proposto in una delle risposte precedenti.
Sinceramente non si capisce cosa stai cercando di ottenere:
[*] plottare tutti i grafici di tutte le variabili e renderli "animati"
[*] plottarne solo uno (no specifichi come sceglierlo all'interno) della matrice e renderlo animato
[*] plottarne più di uno, ma "animarne" solo uno
A prescindere da quanti grafici vuoi plottare e come (animati o no) mi sembra che ora tu abbia tutte le informazioni necessarie.
Per quanto riguarda la creazione di una "GIF" animata, in una delle risposte precedenti ti avevo suggerito:
Se cerchi su Google "matlab gif" il primo risultato che viene proposto è quello che fa per te.
A meno che la stessa ricerca effettuata su due PC diversi dia risultati diversi, il primo link proposto da Google è:
https://it.mathworks.com/matlabcentral/answers/94495-how-can-i-create-animated-gif-images-in-matlab
in quella pagina trovi il codice completo per creare una "GIF" animata:
h = figure;
axis tight manual % this ensures that getframe() returns a consistent size
filename = 'testAnimated.gif';
for n = 1:0.5:5
% Draw plot for y = x.^n
x = 0:0.01:1;
y = x.^n;
plot(x,y)
drawnow
% Capture the plot as an image
frame = getframe(h);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
% Write to the GIF File
if n == 1
imwrite(imind,cm,filename,'gif', 'Loopcount',inf);
else
imwrite(imind,cm,filename,'gif','WriteMode','append');
end
end
Nel codice che hai inserito in una risposta precedente hai scritto solo una parte di quel codice:
% Capture the plot as an image
frame = getframe(h);
im = frame2im(frame);
[imind,cm] = rgb2ind(im,256);
% Write to the GIF File
imwrite(imind,cm,'s.gif','gif', 'Loopcount',inf)
e, per di più, all'esterno del loop di plottaggio (come invece ti avevo suggerito e come è scritto nella pagina suggerita.
Dal codice relativo alla generazione della "GIF" che hai pubblicato, sempre ammesso che tu abbia pubblicato "tutto" il codice, si direbbe che semplicemente, non hai copiato tutto il codice che hai trovato al link che ti ho suggerito.
Il codice (completo) va inserito all'interno del loop di plottaggio.
Di più non so cosa altro fare per aiutarti.