Memorizzare i dati di un ciclo for

di il
1 risposte

Memorizzare i dati di un ciclo for

Salve, vorrei memorizzare tutti i dati che ottengo dal ciclo for interno in dei vettori. Come posso fare? Ho provato con Col, M e T ma mi torna soltanto gli ultimi valori.
diametro=[50;38;150;200;100;70;120;150;50;150];
tg=[tgML,tgHS,tgT,tgS1,tgS2,tgS6,tgS8,tgS9,tgS11,tgS12];
 
for ii=1:10 
    diametro_k=diametro(ii)
    for jj=1:length(taML)
    tg_k=tg(jj)   
    [hcn_k,hcf_k,hc_k]= conduttanze(tg_k,taML(jj),vaML(jj),diametro_k)
    tr_k=temperaturaradiante(tg_k,hc_k,sigma,epsilon,taML(jj))
    hr_k= conduttanzahr(tg_k,tr_k,epsilon,sigma)
    to_k= temperaturaoperativa(hc_k,hr_k,taML(jj),tr_k)
    end 
 Col={'hcn','hcf','hc','tr','hr','to'};
 M=[hcn_k,hcf_k,hc_k,tr_k,hr_k,to_k]
 T=array2table(M,'VariableNames',Col) 
  end

1 Risposte

  • Re: Memorizzare i dati di un ciclo for

    Il codice che hai pubblicato non è completo e nn è possibile provare ad eseguirlo (cosa sono, ad esempio "tgML,tgHS,tgT,tgS1,tgS2" ecc.?).
    Inoltre non è chiaro cosa dovrebbe fare il codice per cui è anche difficile (impossibile?) capire se ci siano errori nella logica del codice stesso.

    Nel loop interno usi la lunghezza di "taML" per definire il limite massimo dell'indice del loop, ma usi l'indice per accedere ai valori di "tg"; di per sè non è sbagliato, ma è strano.

    Sempre nel loop interno "hcn_k,hcf_k,hc_k, tr_k, to_k" sono variabili scalari, questo fa sì che ad ogni iterazione i valore dell'iterazione precedente venga sovrascritto da quello attuale.
    Dovresti rendere le variabili i output dei vettori se sei interessato ad avere i valori di ogni iterazione.

    Allo stesso modo, nel loop esterno, il contenuto dell'array "M" viene sovrascritto; in questo caso dovresti trasformare "M" in una matrice.
Devi accedere o registrarti per scrivere nel forum
1 risposte