Pagina 1 di 1

Formato data da database Access in Matlab

Inviato: 20 ott 2008, 11:11
da maio
Ciao a tutti!
Sto scrivendo un modello dinamico di simulazione con Matlab.
Sono alle primissime armi!
Praticamente: ho un database su Access con dati meteorologici orari.
Uno dei campi è la data.
C'è un modo per far riconoscere a Matlab il campo data di Access?
Oppure devo trasformare il campo data in numerico (facendo gli opportuni adattamenti tra Access e Matlab)?

Grazie!!

Re: Formato data da database Access in Matlab

Inviato: 20 ott 2008, 11:19
da phylum
se non sbaglio matlab si puo connettere ai DB in generale tramite JDBC

leggi qui: http://www.mathworks.com/access/helpdes ... 30884.html

Re: Formato data da database Access in Matlab

Inviato: 20 ott 2008, 11:56
da maio
Ciao!
Forse non mi sono spiegato bene :roll:
Sono già riuscito a collegare Matlab ad Acces (anche se, non so perché, ma non mi funziona il Querybuilder).
Quello che non riesco a fare è far riconoscere a Matlab il formata data di Access. Matlab vede la data di acces come una stringa e non come una data.

Re: Formato data da database Access in Matlab

Inviato: 20 ott 2008, 12:16
da phylum
la data come la conosciamo noi e' una stringa (di caratteri) tuttavia puoi considerarla un numero: p.es come il nr. di ms dal 1/1/1970... (DateSerial) oppure puoi usare delle funzioni che restituiscano ogni singolo elemento GG, MM, o YYYY (GetDay,GetMonth,GetYear)
o basarti proprio sulla stringa giorno = Mid(mia_data,1,2) etc.
e ci sono infine funzioni di conversione (per i tipi Variant) p. es CDate()

Re: Formato data da database Access in Matlab

Inviato: 20 ott 2008, 12:23
da maio
phylum ha scritto:la data come la conosciamo noi e' una stringa (i caratteri) tuttavia puoi considerarla un numero: p.es come il nr. di ms dal 1/1/1970... oppure puoi usare delle funzioni che restituiscano ogni singolo elemento GG, MM, o YYYY


Ecco: questo è il punto! :!: :)
Matlab vede il campo "data" del database Access come una successione di caratteri/numeri senza un significato preciso: non viene riconosciuto come informazione "data". Pensavo che leggendo un database comune (come Access) Matlab fosse in grado di riconoscere direttamente la data.
Mi chiedevo quindi se ero io a non saper impostare quel campo per renderlo immediatamente leggibile o se invece dovessi usare qualche "accrocchio" per trasformare la data.
Per ora ho adottato questo sistema: ho aggiunto una colonna al database in cui ho inserito il corrispondente valore numerico della data (a partire dal 1 gennaio 0000, che corrisponde al calendario numerico su cui si basa Matlab).

Speravo ci fosse un metodo più "diretto"

Re: Formato data da database Access in Matlab

Inviato: 20 ott 2008, 12:35
da phylum
mmm in ML ci sono: (Da stringa a seriale) DateNUM, Da seriale a stringa DateSTR, (Da stringa a vettore) DateVec :idea:

quindi nel tuo caso un:

Codice: Seleziona tutto

data_in_access = '20-10-2008'
valore_data = datenum(data_in_access, 'dd-mmm-yyyy')
= +/- 733715