我使用下面的代码在matlab中以格式(time,heart_rate,resp_rate)生成2500个值
numberOfSeconds = 2500;
time = 1:numberOfSeconds;
newTime = transpose(time);
number0 = size(newTime, 1)
% generating heart rates
heart_rate = 50 +(70-50) * rand (numberOfSeconds,1);
intHeartRate = int64(heart_rate);
number1 = size(intHeartRate, 1)
% hist(heart_rate)
% generating resp rates
resp_rate = 50 +(70-50) * rand (numberOfSeconds,1);
intRespRate = int64(resp_rate);
number2 = size(intRespRate, 1)
% hist(heart_rate)
% joining time and sensor data
joinedStream = strcat(num2str(newTime),{','},num2str(intHeartRate),{','},num2str(intRespRate))
dlmwrite('/Users/amar/Desktop/geenrated/rate.txt', joinedStream,'delimiter','');
控制台中显示的数据没问题,但是当我将此数据保存到.txt文件时,它在开头包含额外的空格。因此,我无法解析.txt文件以生成输入流。请帮忙
答案 0 :(得分:2)
使用以下内容替换代码的最后两行。如果您想要CSV输出文件,则无需使用strcat。
{{1}}
答案 1 :(得分:2)
ℎ ℎ。 ℎℎℎ。
文件中写入的数据正是控制台中显示的内容。
>> joinedStream(1) %The exact output will differ since 'rand' is used
ans =
cell
' 1,60,63'
num2str
基本上将矩阵转换为字符数组。因此,每行中的字符数必须相同。因此,对于原始矩阵的每一列,具有最大字符数的行被设置为具有较少字符的所有行的标准,并且缺陷由空格填充。列由2个空格分隔。看一下以下较小的例子来理解:
>> num2str([44, 42314; 4, 1212421])
ans =
2×11 char array
'44 42314'
' 4 1212421'