我在字符串tableformat.txt
中有3年的数据。其中三条线如下:
12-13 Jan -10.5
14-15 Jan -9.992
15-16 Jan -8
如何将字符串的第3列(-10.5
,-9.992
和-8
)更改为(-10.500
,-9.992
和-8.000
)数量?
我制作了以下剧本:
clear all; clc;
filename='tableformat.txt';
fid = fopen(filename);
N = 3;
for i = [1:N]
line = fgetl(fid)
a = line(10:12);
na = str2num(a);
ma(i) = na;
end
ma
给出:
ma = -1 -9 -8
当我做这个改变时:a = line(10:15);
,我得到了:
错误消息:索引超出矩阵尺寸。
答案 0 :(得分:2)
这对你有用。
clear all;
clc;
filename='tableformat.txt';
filename2='tableformat2.txt';
fid = fopen(filename);
fid2 = fopen(filename2,'w');
formatSpec = '%s %s %6.4f\n';
N = 3;
for row = [1:N]
line = fgetl(fid);
a = strsplit(line,' ');
a{3}=cellfun(@str2num,a(3));
fprintf(fid2, formatSpec,a{1,:});
end
fclose(fid);
fclose(fid2);