在Matlab中打印字符串时出现问题



我是MATLAB的新手,在将字符数组打印到文件时遇到问题。我只打印出第一个字符。我从文件中读取行,并构建矩阵矩阵。一个矩阵是字符向量的数组。以下是我如何读取数据

tline = fgetl(iin);
t_current = tline(9:34);
...       
data.t      = [data.t; t_current];

然后我做这个:

npts = length(data.t);
fid1 = fopen(fname, 'w');
fprintf(fid1, 'Day            Rankn');
fprintf(fid1, '-------        -------n');
for k = 1:npts
time_str = data.t(k);
fprintf(fid1, '%s     %f3n',time_str, data.rank(k));
end

fclose(fid1(;

data.t是<10082,26炭>看起来像这样:

val =
2015-07-16T03:28:36.410305
2015-07-16T03:29:00.000000
...

我用fprintf得到的只是一个'2'。我尝试使用convertCharsToStrings,但失败了,并返回错误消息:类型的输入参数的未定义函数"convertCharsToStrings"char"。

这一定是我错过的一些简单的东西。谢谢-Mike

由于"data.t是<10082,26炭>";,试试这个:

...
for k = 1:npts
time_str = data.t(k, :);
...

如果不使用, :,Matlab将对矩阵使用线性索引,而不是下标。

事实证明,我需要使用不同的格式来获取时间字符串:

time_str=data.t(k,1:end)

相关内容

  • 没有找到相关文章

最新更新