代码如下:
>> fid = fopen('dump.dat');
>> line_ex = fgetl(fid)
line_ex =
'106,94,241,11,190,237,209,224'
>> newStr = split(line_ex,',')
newStr =
8×1 cell array
'106'
'94'
'241'
'11'
'190'
'237'
'209'
'224'
>> cell2mat(newStr)
Error using cat
Dimensions of matrices being concatenated are not consistent.
Error in cell2mat (line 83)
m{n} = cat(1,c{:,n});
这个错误令人难以置信。我没有试图通过运行cat函数来连接任何东西。
'106'实际上是由MATLAB看到的三个独立的ASCII字符。我只需要把单元格数组转换成一个简单的数字向量。
cell2mat
只能将cell
数组转换为char
类型,因此如果cell
中的元素长度不同,则会出现错误。暂时没有好的方法来处理您的问题,但是您可以使用for
loop。
for i = 1:length(newStr)
num(i,1) = str2num(cell2mat(newStr(i)));
end
为我的蹩脚英语道歉。