Formato data da database Access in Matlab

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

Avatar utente
Foto Utentemaio
0 2
Messaggi: 3
Iscritto il: 20 ott 2008, 10:15
0
voti

[1] Formato data da database Access in Matlab

Messaggioda Foto Utentemaio » 20 ott 2008, 11:11

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!!

Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40
0
voti

[2] Re: Formato data da database Access in Matlab

Messaggioda Foto Utentephylum » 20 ott 2008, 11:19

se non sbaglio matlab si puo connettere ai DB in generale tramite JDBC

leggi qui: http://www.mathworks.com/access/helpdes ... 30884.html
\int_{}tella
Immagine

Avatar utente
Foto Utentemaio
0 2
Messaggi: 3
Iscritto il: 20 ott 2008, 10:15
0
voti

[3] Re: Formato data da database Access in Matlab

Messaggioda Foto Utentemaio » 20 ott 2008, 11:56

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.

Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40
0
voti

[4] Re: Formato data da database Access in Matlab

Messaggioda Foto Utentephylum » 20 ott 2008, 12:16

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()
\int_{}tella
Immagine

Avatar utente
Foto Utentemaio
0 2
Messaggi: 3
Iscritto il: 20 ott 2008, 10:15
0
voti

[5] Re: Formato data da database Access in Matlab

Messaggioda Foto Utentemaio » 20 ott 2008, 12:23

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"

Avatar utente
Foto Utentephylum
6.191 5 7 12
G.Master EY
G.Master EY
Messaggi: 3217
Iscritto il: 9 ott 2007, 12:40
0
voti

[6] Re: Formato data da database Access in Matlab

Messaggioda Foto Utentephylum » 20 ott 2008, 12:35

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
\int_{}tella
Immagine


Torna a “Programmi applicativi: simulatori, CAD ed altro”