fprintf错误尝试在文件中打印2个向量(未定义为单元格?)

时间:2016-06-19 11:00:45

标签: matlab

我有2个向量,一个是长度为147202x1的单词词典,如下所示

hello
there
some_word
...

另一个向量是这样的数字列表,长度相同

1.0
-1.0
1.0
...

我想用随机数做一个这样的样本。我制作了这个长度为1437的新矢量

x_1 = randsample(1:length(dictS_train), 1437, true);

我认为这是1和长度为1437的长度(dictS_train)之间的数字样本。我想在文件中打印这些新向量。所以我试过

filename = 'name_of_the_file.txt';
filename = fopen(filename,'w');
fprintf(filename,'%s %f \n', dictS_train(x_1), polS_train(x_1));
fclose(filename);

但问题是它弹出了这个错误

  

函数fprintf未定义为' cell'输入。

我做错了什么?也许我必须逐个打印每个号码?

以防万一,我想在每一行打印dictS_train和polS_train的其他元素

1 个答案:

答案 0 :(得分:0)

好的,我对每种数据类型都搞得一团糟。

如果有人遇到同样的问题,一个简单的解决方案就是查看您的数据是否为class(your_data)的单元格。如果说它是一个单元格,那么您可以使用cell2mat(your_data)更改为一个简单的数组(向量)。但请注意尺寸是否为阵列。

例如,我的是(n,1),所以我必须用" ' "到(1,n)像这样:cell2mat(your_data')