2010-08-23 53 views
13

Tôi có ma trận 2D myMatrix các số nguyên mà tôi muốn lưu nội dung của nó vào tệp văn bản. Tôi đã làm như sau:Làm cách nào để lưu ma trận các số nguyên vào một tệp văn bản trong Matlab?

save myFile.txt myMatrix -ASCII 

tôi nhận được tin nhắn này:

Cảnh báo: Cố gắng để viết một kiểu dữ liệu được hỗ trợ vào một tập tin ASCII. Biến 'myMatrix' không được ghi vào tệp. và không có gì được viết.

Việc cần làm?

Trả lời

20

Để viết myMatrix để myfile.txt:

dlmwrite('myFile.txt', myMatrix); 

Để đọc các tập tin vào một ma trận mới:

newMatrix = dlmread('myFile.txt'); 
2

Bạn phải chuyển đổi ma trận thành hai lần trước khi sử dụng lưu.

>> myMatrix2 = double(myMatrix); 
>> save myFile.txt myMatrix2 -ASCII 
+0

A) dòng đầu tiên mang lại cho tôi 'Out of memory'. B) File 'myFile.txt' có các mục như' 4.2280000e + 03', tôi muốn '4228' –

+0

Bạn có thể thử sử dụng đơn thay vì gấp đôi. Nhưng tôi khuyên bạn nên sử dụng phương pháp được đưa ra bởi snakile, nó tốt hơn nhiều. Một cách khác là sử dụng hàm fprintf, ở đó bạn cũng có thể xác định định dạng của đầu ra. – Ghaul

-1

xây dựng trên snakile's earlier answer: để viết myMatrix để myfile.txt, sử dụng CR/LF làm dòng kết thúc ('pc'), nếu không, bạn nên sử dụng LF ('unix'):

dlmwrite('myFile.txt', myMatrix,'newline','pc'); 

Để đọc các tập tin vào một ma trận mới:

newMatrix = dlmread('myFile.txt'); 
Các vấn đề liên quan