Inserire e selezionare iterativamente dati in SIMULINK

di il
7 risposte

Inserire e selezionare iterativamente dati in SIMULINK

Buongiorno a tutti!
Devo finire un modello, ma ho bisogno di aiuto...! Mille grazie a chi risponde!

Vi illustro il mio problema: sto modellizzando un pannello fotovoltaico-termico in simulink e devo, partendo da registrazioni della temperatura ambientale, inserire un blocco che ad ogni istante di tempo della simulazione mi restituisca il corrispondente valore della temperatura.

Concettualmente, la cosa è molto semplice, però ho fatto vari tentativi con differenti blocchi senza riuscirci. Ho tentato usando:
- prima, una Direct Lookup Table (n-D) inserendo in ingresso il vettore della temperatura misurata ogni 5 min (oppure ogni ora, per semplificare) -nella porta input superiore del blocco- e il tempo nella porta di ingresso inferiore. Per fornire il tempo ho tentato con: un clock, oppure con un vettore con i vari istanti temporali. I vettori tempo e temperatura provenivano da file .mat appositamente creati.
- una Lookup Table Dynamic, inserendo in x un blocco costante 0:23 (le ore), in xdat i vettore del tempo (come sopra) e in ydot il vettore con le misurazioni di temperatura.

In output mi aspetto un valore di temperatura corrispondente al tempo considerato, e poi ad ogni istante della simulazione, aggiornadosi il tempo (da i a i+1,...) mediante [immagino] un clock, un valore di temperatura successivo della serie di dati inserita. Provando a mettere un blocco scope in uscita, ottengo un valore nullo.

Ringrazio chiunque volesse rispondermi e aiutarmi, 1000 punti! Probabilmente sbaglio nel fornire gli input ai vari blocchi ma non riesco ad uscirne...!!

7 Risposte

  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Allora, (ti rispondo solo per avere i 1000 punti, nel caso potessero tornarmi utili )
    Hai due vettori, uno rappresenta il tempo e uno la temperatura, giusto?
    In uscita vuoi una "corrispondenza" tra i due vettori, in che senso? vuoi un grafico? o devi farci anche altro?
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Grazie per la risposta.

    Dunque, ho due vettori e voglio prelevare, per ogni istante di tempo, un valore dal vettore temperatura. Per descrivere in modo più completo il sistema, aggiungo che si tratta di un pannello solare suddiviso in vari strati, e di ciascuno di essi voglio ottenere la temperatura. Ho già creato il modello ma i problemi stanno nell'avere un dato di partenza di temperatura ambiente.
    Ho un vettore di registrazioni di questa temperatura, e siccome voglio simulare il comportamento del sistema nell'arco dell'anno (o anche solo di un "giorno tipo"), necessito dei valori della temperatura selezionati in ordine per tutti gli istenti di tempo (contenuti peraltro nel vettore tempi).

    Ho dunque un vettore temperatura e un vettore tempo in ingresso, e voglio che ad ogni valore (istante di tempo) preso IN ORDINE dal vettore tempo corrisponda un'uscita data da UN UNICO elemento (di volta in volta, da istante ed istante, fino all'ultimo tempo) di temperatura.
    In questo modo, la temperatura in uscita (un numero) entra nel resto del sistema ed influenza tutte le temperature degli strati del pannello.

    Grazie, i mille punti sono tuoi
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Hai provato con il blocco "Signal builder"?
    Puoi specificare il segnale (nel tuo caso la temperatura) in funzione del tempo.
    Guarda qui: http://www.mathworks.it/help/toolbox/simulink/ug/f15-109640.html
    Nel paragrafo "editing signals" ti spiega come creare il segnale a partire da un vettore.
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Ho provato con il blocco signal builder, ma una volta che ho il segnale, come faccio da esso a selezionare UN SOLO elemento alla volta per avere in output un valore di temperatura che si aggiorna ad ogni passo?
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Ho provato a mettere il signal builder in ingresso ad una lookup table (n-D) insieme ad un clock, con un display in uscita....e sembrerebbe funzionare. A parte che talvolta il run dà un risultato che non è nel vettore (???), ma rifacendo girare il modello qualche volta esce il valore esatto cercato. Ora faccio qualche altro tentativo (perchè oltre alla temperatura devo tener conto dell'irraggiamento, e delle proprietà del fluido refrigerante che cambiano con la temperatura....) e vedo se tutto si interconnette bene. Nel frattempo, un generoso GRAZIE!!
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Figurati!
    Nel frattempo pensavo... sei sicuro che ti serva "materialmente" estrarre il singolo valore di temperatura e che non sia sufficiente creare un segnale a gradini costruito in modo che ciascun gradino abbia il valore della temperatura al tempo in cui viene misurata che usi come ingresso al resto del sistema (a seconda di come è costruito il sistema, e di cosa ti serve, potrebbe essere o meno una soluzione possibile)?
    Fammi sapere!
  • Re: Inserire e selezionare iterativamente dati in SIMULINK

    Beh, mi serve un unico valore in output perchè questo poi va ad un sistema di equazioni differenziali in cui la temperatura ambiente arriva come variabile nota per ricavare le temperature incognite di ogni strato del pannello! Non so bene come verrebbe con l'input a gradini...ma se questo signal builder collegato con la lookup table mi dà una parvenza di "continuità" interpolando i valori tra un dato e l'altro ancora meglio, sono più contenta
    Ti faccio sapere come procede!
Devi accedere o registrarti per scrivere nel forum
7 risposte