2010-04-23 38 views
10

kullanmadan bir MAT dosyası yaz ben (bu konuda, sürüm 4 veya 5 veya herhangi bir sürümü) bir mezuniyet dosyaya kaydetmek istiyor bazı veriler var. Yakalama: Matlab kitaplıkları kullanmadan bunu yapmak istedim, çünkü bu kod matlab ile bir makinede çalışmaya gerek duymaz. Benim program matlab başlıkları ve kütüphaneler

biraz araştırma yaptım ama ++, Java/C şey bulamadık ... Bu bana yardım edebilecek başarır bu dillerde Java ve C++, mevcut tüm kitaplığını kullanır. Ancak, ben piton üzerinde scipy mio4.py veya mio5.py ile başarır bulundu. Bunu java veya C++ üzerinde uygulamayı düşündüm, ama zaman çizelgemden biraz uzak görünüyor.

Yani soru şu: Matlab kütüphaneleri kullanmadan MAT dosyaları kaydetme imkan vermesidir ++ Java ya da C/C herhangi kütüphaneler var mı?

Çok teşekkürler sürüm 7 beri

+1

"Math-File Format" belgesinin bir kopyasını bulduğunuzu ve SO'yu bulmanızın önüne geçene kadar kendi kodunu yuvarlamak istemediğinizi kendi kodunuzu oluşturmak istemiyorum. Yazılı kütüphane? –

cevap

12

C: matio
Java: jmatio
(Gerçekten çeliyor, bu yüzden, google öğrenmek söyleyecektir)

Ama gerçekten, fwrite eğer kullanarak matfiles yazmaya da zor değil Daha karmaşık şeylerden bazılarını (iç içe geçmiş yapılar, sınıflar, işlevler, seyrek matris, vb.) işlemeniz gerekmez.
Bak: http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/matfile_format.pdf

+1

Bir süre önce benzer bir sorun yaşadım ve matlab API'sinin .matfiles yazımı için bir yer değiştirme işlevi olarak bir dizi işlev yazmasını sağladım. Hiçbir şey fantezi, ama temelleri (yuvaları dahil ans). Github'da: http://github.com/EyNuel/matOut/wiki –

5

MAT dosyaları HDF5 dayanmaktadır. Bazı komik kurallar kullandıklarını hatırlıyorum, ancak ihtiyacınız olanı tersine çevirebiliyor olabilirsiniz. Java ve C++ için kesinlikle HDF5 yazma kütüphaneleri vardır. Bu doğrultuda

, Matlab/okuma HDF5 dahil olmak üzere birçok standart formatları, yazabilir. Verilerinizi "standart" HDF5'e yazmak ve Matlab içinde istenen veri yapısına okumak en kolay olabilir.

+0

1 Ben o bir yerlerde okumuştu ama seyir gidince onay bulmak asla düşündüm. Başka bir olasılık yaratırsanız, OP, MATLAB'in MAT dosyalarının her hangi bir uygulamasının ne olursa olsun işleyebileceği HDF5 dosyalarını okuyabilir/yazabilir. –

+0

@HPM Mükemmel nokta. Bundan bahsedeceğim. –

+0

HDF5, sıra büyük. Mat sütun-ana. Hdf5write şu anki 'help', bunun neden kötü bir şey olabileceği hakkında biraz açıklıyor – KitsuneYMG