在MATLAB中将数字和字符串写入文本文件

时间:2016-09-02 09:11:11

标签: matlab text-files

请原谅基本问题。我有两个数字数据的列向量,以及一列字符串数据[当前是一个字符数组],我想以下列格式导出到文本文件:

Number (1,1)  Number (2,1)  Text (1)
Number (1,2)  Number (2,2)  Text (2)
...           ...           ...

到目前为止,我只能使用以下代码以正确的输出格式获取数字:

a1=cell2mat(final(:,3)); %numeric data, variable 1 to save
no=cell2mat(final(:,4));
strings=char(final(:,2)); %text data to save as 3rd column

a2=zeros(numel(a1),1); %temporary variable
for i=1:numel(a2);
   if no(i)~=1;
      a2(i)=no(i); 
   end
end
a3=a1+a2; %numeric data, variable 2 to save

fid = fopen( 'results.txt', 'wt' );
fprintf(fid, '%f  %f\n',[a1 a3]');
fclose(fid);

当我尝试通过将上面的倒数第二行代码更改为

来写出字符串数据时
fprintf(fid, '%f  %f  %s\n',[a1 a3]',strings');

我在文本文件中得到一个非常奇怪的输出:

205.000000  205.000000  SUB SUB SUB SUB SUB SUB

非常感谢任何帮助。

谢谢, 莱恩

1 个答案:

答案 0 :(得分:0)

找出解决方法。我为每一行使用了for循环:

PushStreamContent

它给了我所需格式的文本文件。感谢那些帮助过的人。