Lunatix ha scritto:
Buongiorno a tutti,
Questo è il mio primo post quindi spenderò due righe per presentarmi alla community; sono un neolaureato in ingegneria civile, adesso mi trovo ad Exeter (UK) e sto portando avanti un progetto condiviso tra la mia università in Italia e quella di Exeter. Il mio campo di specializzazione è l'idraulica, essenzialmente condotte in pressione. In questo periodo sto lavorando sulla ricerca di perdite nei sistemi di distribuzione di acquedotti.
Veniamo al punto, mi sono bloccato su una cosa stupidissima ma non trovo la soluzione...
All'interno del ciclo for gira Epanet che mi restituisce una matrice delle pressioni [P], ad ogni ciclo mi sovrascrive con i nuovi dati la matrice, io ho bisogno di 'ricordarli'. ES.
for i=1:5
epanet
[P]=valoridaEpanet
...
clearvar -ecept P1 P2 P3 P4 P5
end
Come faccio a creare i P1 P2...
Ciao per le presentazioni puoi anche usare la sezione apposita :
Indice->Area Software->Il Bar dei Programmatori->Presentazioni
A quanto ho capito ti occorre una lista di matrici. Potresti dichiararti una struttura a 3 dimensioni :
NxMxL, dove L è il numero di matrici restituite, NxM la dimensione della matrice restituita da Epanet, che per come hai detto è una matrice delle pressioni. Per dichiarare la struttura puoi usare la funzione
P = zeros(N,M,L)
Come vedi gli dai in input le 3 dimensioni ed inizialmente ti crea una struttura a 3 dimensioni inizializzata con tutti zeri. Per accedere alla struttura creata e quindi salvare la
i-esima matrice immagino che puoi fare così:
P(:,:,i) = valoridaEpanet