2015-02-23 105 views
0

我創建了800個泊松分佈隨機數。然後將這些數字寫入.txt文件。我想寫我的每個數據值在新的生產線一樣,在matlab中使用dlmwrite指令的分隔符選項

1 
2 
3 

,但它是未來像

1 2 3.. 

我用dlmwrite作爲,

dlmwrite('rts2_data.txt',rts2, '\t'); 

我應該使用哪種分隔符來把每個數據值換成新的行?

+0

你確定這不只是你的編輯器,表格顯示爲單一的空間?我剛剛嘗試用['notepad ++'](http://notepad-plus-plus.org/)打開'dlmwrite('toto.txt',[1 2 3 4],'\ t')'像一個魅力一樣工作......(見¶按鈕來顯示錶格)_ – CitizenInsane 2015-02-23 10:20:33

+0

糟糕...想知道...使用'\ n'作爲分隔符去換行 – CitizenInsane 2015-02-23 10:22:55

+0

或者只是使用'save('data.txt', 'data',' - ascii')' – thewaywewalk 2015-02-23 10:24:39

回答

2

我不是特別瞭解Matlab,但\t是製表符。

如果你想要一個新的行,或許你可以使用新的行字符\n\r\n,如果它允許多個字符(\r是一個「回車」)。


好吧,所以Matlab不允許將新行字符直接放置爲分隔符。相反,您可以使用以下語法:

dlmwrite('rts2_data.txt', rts2, 'delimiter', ' ', 'newline', 'pc'); 

如所示here。您也可以查看this page,其中記錄了可用於dlmwrite功能的參數。

+0

如果我使用\ r或\ n,它會給出像1234 .. 這樣的值,如果我使用\ r \ n那麼matlab會給出錯誤,'\ r \ n不是有效的屬性或分隔符。分隔符必須是單個字符。 – tlltfrshd 2015-02-23 10:39:49

+0

在我的Matlab版本(R2012b)'dlmwrite('rts2_data。txt',rts2,'\ n')'是做什麼的:它將每一個數字寫在一個新行中。 – Deve 2015-02-23 11:37:08

0

您可以將數據最初排列爲列向量(不是一行)。 dlmwrite試圖保持你有一個矩陣結構。

這是我的工作例如:

z=[0 1 2 3] 
dlmwrite('rts2_data1.txt',z) 
dlmwrite('rts2_data2.txt',z') 

和文件的輸出是:

  • rts2_data1.txt

    0,1,2,3

  • rts2_data2.txt

+0

我已經做了一個列向量,但它顯示像ਲ਼਱ਲ਼ਲਲ਼਴਴ਲਲ਱਱ਲਲ਼..意思是不給值 – tlltfrshd 2015-02-23 10:41:36