Quanto hai scritto è corretto
Solo qualche commento:
[*] conviene sempre, quando possibile, inizializzare i vettori e le matrici allocandone lo spazio in memoria, questo consente di velocizzare l'esecuzione dello script in quanto MatLab non deve chiamare automaticamente le funzioni per l'allocazione della memoria ad ogni iterazione.; Nel caso dello script che hai pubblicato i vettori "t", "x" e "y" avranno solo 3 componenti, per cui non si nota la differenza, ma nel caso di matrici (o vettori) di grandi dimensioni il vantaggio è notevole
Prima del "ciclo for" puoi scrivere:
t=zeros(1,3)
x=zeros(1,3)
y=zeros(1,3)
per creare tre vettori di tre elementi inizializzati a "0"
[*] a meno che il contatore "conta" non venga usato in qualche altra parte dello script, non è necessario, puoi scriver direttamente:
t(k)=toc(tstart);
[*] l'istruzione:
y(1,1)=3;
mi sembra (ma potrei sbagliare) errata; sembrerebbe più logico fosse:
y(1,1)=1;
[*] dal momento che, almeno nello script che hai inserito, le variabili "x" e "y" vengono usate come vettori e non come matrici (il primo indice è sempre "1"), non è necessario indicarlo esplicitamente, puoi scrivere direttamente:
x(1)=t(1);
x(2)=t(2);
x(3)=t(3);
y(1)=3; % Vedi commento precedente, non dovrebbe essere y(1)=1?
y(2)=2;
y(3)=3;
Inoltre, potresti spostare l'assegnazione dei valori ai vettori "x" e "y" direttamente nel "ciclo for"
[*] siccome (vedi commento precedente) "x" e "y" sono usati come vettori (e non come matrici), per plottarli puoi scrivere direttamente:
plot (x,y);
In base a tutti i commenti precedenti, il tuo script potrebbe essere:
t=zeros(1,3)
x=zeros(1,3)
y=zeros(1,3)
for k=1:3
tstart=tic;
x(k)=toc(tstart);
y(k)=k;
end
plot (x,y);
Hope this helps.