簡體   English   中英

Matlab工作區中的數據格式

[英]Data format from Matlab workspace

我有以下格式的數據存儲在“ Matlab工作區”中:

data = 
Columns 1 through 12

-1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1

我想將其轉換為以下簡單形式:

-1-1-1-1-1-1-1-1-1-1-1-1

甚至以這種形式也可以接受:

-1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1    -1

要等於此命令的結果的輸出數據:

Str =('-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1');

最初,我有以下格式的數據:“ type = Double”:

-1
-1
-1
-1
-1
-1
-1
-1
-1

我使用以下命令將此類型的double數據保存到變量中:

save data.txt data

然后,我使用以下代碼將該數據導入我的.mat文件中,以進行進一步的操作:

str = uiimport(); % import data
str = sprintf('%g', str); % or mat2str(str)

由此產生的數據類型是char類型,這是我進一步處理它所需的數據類型。 但這行不通。 但是,如果我直接將這些數據作為str =('-1 -1 -1 -1 -1-')放入我的.mat文件中; 有用。

原因

我很難弄清楚為什么您提到num2strsprintf不起作用。 我認為您嘗試將uiimport的輸出直接傳遞給num2strsprintf 這給您下面的錯誤。 將其包含在您的問題中將非常有幫助。

使用sprintf時出錯
未為“結構”輸入定義功能。

uiimport的輸出是一個結構,所有結果變量都作為字段。 因此,您需要像下面這樣處理此結構內的data字段: S.data

這是代碼:

data = [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]'

save data.txt data              % store data
S = uiimport();                 % import data

str = sprintf('%g', S.data)     % without spaces
str = sprintf('%g ', S.data)    % with spaces

結果如下:

data =
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
str =
-1-1-1-1-1-1-1-1-1-1-1-1
str =
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM