2012-03-16 35 views
6

Tôi đang cố gắng đọc một ma trận được sản xuất trong Matlab thành một mảng 2D trong java. Tôi đã sử dụng jmatio cho đến nay để viết từ java sang tệp .mat (thành công), nhưng giờ đây không thể quản lý theo cách khác. tôi đã quản lý để nhập một ma trận thành một đối tượng MLArray sử dụng mã này:đọc dữ liệu từ Matlab vào Java

matfilereader = new MatFileReader("filename.mat"); 
MLArray j = matfilereader.getMLArray("dataname"); 

Nhưng khác hơn là nhận được đại diện chuỗi của nó tôi không thể quản lý để truy cập dữ liệu riêng của mình. Tôi không tìm thấy ví dụ về điều này hoặc tài liệu trên chính thư viện và tôi thực sự đã viết một hàm để phân tích chuỗi intire thành một mảng [] [] kép nhưng điều đó chỉ tốt nếu ma trận nhỏ hơn 1000 mục ...

sẽ được biết ơn đối với bất kỳ kinh nghiệm hoặc lời khuyên, cảm ơn,

Amir

+0

bạn đã thử sử dụng MLDouble lớp thay vì MLArray? Bạn đã kiểm tra trong MATLAB rằng tập tin mat đã được lưu chính xác chưa? – yuk

+0

Làm thế nào để bạn sử dụng MLDouble thay vì MLArray? MatfileReader chỉ có API trả về các biến như MLArrays. Và liên quan đến tập tin - yeah, iv'e đã ​​thử một số và tất cả đều ok. – Amir

+0

Tôi muốn truyền MLArray sang MLDouble. Bạn có thể thử 'MLDouble j = (MLDouble) matfilereader.getMLArray (" dataname ");'? – yuk

Trả lời

0

tôi không quen thuộc với công cụ đó, nhưng nó khá cũ. Hãy thử lưu vào phiên bản cũ hơn của *.mat tệp và xem kết quả của bạn có thay đổi không. Tức là, hãy thêm cờ '-v7.0' hoặc '-v6' khi bạn lưu tệp r * .mat.

Ví dụ mã:

save filename var1 var2 -v7.0 

hoặc

save filename var1 var2 -v6 
+0

Iv'e đã ​​thử rằng bây giờ, với cùng một kết quả. Nhưng nó không phải là một lỗi tôi nhận được hoặc một cái gì đó liên quan đến tập tin, vấn đề là mã để sử dụng để có được MLArray vào các biến java? – Amir

2

matfilereader.getMLArray có một số lớp con để truy cập các loại dữ liệu khác nhau trong đối tượng MLArray.

Đại diện mảng đôi bạn có thể cast MLArray để MLDouble:

MLDouble j = (MLDouble)matfilereader.getMLArray("dataname"); 
Các vấn đề liên quan