我想在Matlab中锻炼自己。我试图从名为data.dat的文件中随机选择两行。
我的data.dat文件如下所示:
12 4 6.1 7
14 4 8.4 62
7 56.1 75 98
9.7 54 12 35
2 4 8 7.8
要从data.dat中随机选择2行,这里是我正在进行的操作:
close all;
clear all;
%----------------------%
% Choose random lines
%----------------------%
M = load('data.dat');
N=2; %number_of_lines
file_number = 2; %save each two lines in new file: selection_1, selection_2
现在我按顺序在新文件中保存两条选定的行。
for k = 1:file_number
i = randi(length(M),N);
B=M(i,:)
filename=['samples_',int2str(k),'_mc.dat']
save (filename, 'B', '-ascii')
clear B;
end
我不知道为什么但每个新文件中都有超过2行。你能解释一下我在哪里弄错了吗?
答案 0 :(得分:0)
我认为你在生成随机数时会犯错误,如GameOfThrows所示。
i = randi(length(M),N); % gives you a matrix NxN of numbers
i = randi(length(M),[N,1]); % gives you a column of N numbers