[Matlab] Lastiviiva vektori erikseen (matriisi-tiedosto)

D

davyzhu

Guest
Hei kaikki, minulla on tiedosto sisältää useita rivejä vektorit (kaikki numeron ASCII mode). Tiedoston sisältö on kuin alapuolella, jokainen rivi on vektori (jotain käytät SAVE-ascii tallentaa matriisi): 1 2 3 4 5 6 7 8 9 10 6 7 8 9 10 1 2 3 4 5 4 5 6 7 8 1 2 3 9 10 ... ... Mutta todellinen vektori jokaisella rivillä on 1 * 2000, ja minulla on 4000 riviä vektoreita (eli 4000 * 2000 matriisi). Joten vektori on liian suuri ladattavaksi kaikki vektorit (eli tiedosto matriisi) kuorman-ascii-komento. Miten ladata jokaisen rivin vektori erikseen? eli kuorma line1 vektori -> load line2 vektori -> ... kunnes viimeisellä rivillä vektori kaikkea haluan silmukka, joka lukee yhden rivin tiedostosta per silmukka iteraation. Kiitos! Richard
 
Mitä vikaa tekee näin? foo = kuormitus ('mydata'), että toimii hienosti sisältävän tiedoston 2000x4000 numeroita. Tuloksena matriisi kaksinkertaistuu kuluttaa 64 megatavua. Jos tämä ei ole mitä haluat, kerro parempi "lataa jokaisen rivin vektori erikseen".
 
Hei echo47, olen hämmentynyt tätä toimintoa ;-) lataaminen matriisi kuluttaa liikaa ram. Ja lataa kaikki matriisi ei ole välttämätöntä työtäni. Jokainen rivi matriisi on koodisana saatu kanava. Joten olen purkaa koodia joka kerta (Tätä ei tarvitse ladata kaikki koodia). Joten mitä haluan käsittelee riviä matriisin (eli rivi vektori matriisi). Esimerkiksi tällä TIME1, kuorma rivi 1 matriisi-tiedosto, purkaa koodi sana 1, klo aika2, kuorma rivi 2 matriisi-tiedosto, purkaa koodi sana 2; ... ... Anteeksi huono Englanti, Ystävällisin terveisin, Davy
 
Ahhh ... lukea yksi rivi per silmukka iteraation! Tätäkö teillä on mielessä?
Code:
 fin = fopen ("mydata"), mutta ~ feof (FIN) foo = sscanf (fgetl (fin), "% d", [1 inf]) disp (foo);% korvata tämä teidän linja jäsentämiseen koodin lopussa fclose (fin)
 

Welcome to EDABoard.com

Sponsor

Back
Top