仍然是相当新的matlab,从某人那里获取了这个数据分析代码,我不得不添加新功能。
对于一个函数我正在计算一列中每3个条目的平均值,并将结果打印在另一列上。所以它会是这样的
1 -1
3 -1
5 =(1+3+5)/3
7 -1
1 -1
1 =(7+1+1)/3
4 -1
我想要做的是在具有-1的单元格中打印空白。我的第一个想法是只将字符串值分配给我的结果而不是整数。这不起作用,因为我认为在那里有一行代码可以将所有内容转换为整数。
另一个可能的解决方案是重新打开文件并循环遍历所有单元格,用空字符串替换任何-1,但我不知道如何做到这一点,而且效率低下。
作为最后的手段,我想我总是可以告诉用户这个xls表在处理它之前使用excel中的find / replace函数。
编辑:保存部分的部分代码:
data = [data.time, data.avg_time'];
data2 = num2cell(data);
data3 = {'t', 'avg t'};
data = [data3; data2];
xlswrite([filename, '.xls'], data);
答案 0 :(得分:1)
我误解了你的问题(我想用Na取代NaN,感谢Amro)。
您可以使用:
A(A(:,2)==-1,2)=NaN
其中A是您首先创建的矩阵。
希望它可以帮助你:)