MATLAB字符串2个表的数量

时间:2017-04-02 17:11:46

标签: string matlab numbers

我在字符串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);,我得到了:

  

错误消息:索引超出矩阵尺寸。

1 个答案:

答案 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);