我有一个由x,y,z值组成的数据文件。我应该做什么来提取给定x、y或z值的数据集。例如,考虑以下数据
x y z
1 5 5
2 5 4
2 7 5
2 8 9
2 -5 -9
3 6 9
2 5 7
8 7 5
9 6 4
-8 9 6
1 6 4现在我想提取只对应于x=2的数据集,我该如何在Matlab中实现呢?
发布于 2016-06-20 10:58:04
对于这个问题,更具Matlab风格的解决方案是使用find命令和save命令:
function extract(data,index,value)
I=find(data(:,index)==value));
excerpt_data = data(I,:);
save('extract.txt','excerpt_data','-ascii','-tabs');发布于 2016-06-19 18:45:56
我找到了一个简单的解决方案
function extract(data,index,value)
file = fopen('extract.txt','a');
for i = 1:length(data(:,index))
if data(i,index) == value
fprintf(file, '%f\t%f\t%f\n', data(i,1),data(i,2),data(i,3));
end
end
fclose(file)这里的数据对应于包含x,y,z值的文件。Index表示x,y,z索引,分别取值1,2,3。(例如,在给定的例子中,X,因此index是1)值对应于你想要提取的值。(在给定的例子中,2)
https://stackoverflow.com/questions/37905845
复制相似问题