我一直在努力尋找一種方法來使用MATLAB將字符串轉換爲.txt文件中的整數。for循環字符串到整數
這裏是什麼我的文件看起來像一個例子:
genes total_muts
A2M 1
AARS 4
AASS 6
ABCA1 105
ABCA3 71
ABCA4 563
這裏是我使用的腳本:
genes_disease = dataset('file', 'genes_totalshuffle.txt', 'Delimiter', '\t');
gene = genes_disease.genes
total_muts = genes_disease.total_muts
a = 0
fileID = fopen('genes_totalshuffled.txt', 'w')
for k = 1:length(genes_disease)
total_muts1 = total_muts(k);
num_total_muts = str2num(total_muts1)
r = randi([a num_total_muts],1);
fprint(fileID, '%4f %4f\n', num_total_muts, r)
end
fclose(fileID)
當我運行該腳本,我得到一個錯誤通知我randn
的尺寸輸入需要是數字。我認爲我的問題在於totalmuts
變量。這個變量打印字符串而不是整數。我以爲我可以使用str2num()
,但我似乎無法得到適當的工作。有什麼建議麼?
*編輯:包括我試圖使用str2num
。此外,我試圖生成一個隨機生成的數字,介於0和我的文件中列出的值之間。
您的問題中有幾件事我沒有得到。注意:如果你的變量'var'等於字符串''1''(是嗎?),那麼你可以用'num2str(var)'把它變成一個整數。 –
另外賦值(k:k)沒用,只用(k)。 – Adriaan
「我以爲我可以使用'str2num()',但我似乎無法得到適當的工作」 - 請添加您嘗試使用此代碼。 – Dan