作业帮 > 综合 > 作业

matlab 筛选数据 筛选一个矩阵

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 13:31:16
matlab 筛选数据 筛选一个矩阵
文件是EMAG2.txt ,里面是x,y,z的三列数据.要求:提取所有-85≤x≤-30;-60≤y≤15;的数据,并且输出到新的txt文件中.
或者帮我改一下
clc;
clear;
fin=fopen('EMAG2.txt','r');
fout=fopen('EMAG2.dat','w');
while(~feof(fin))
x=fscanf(fin,'%g',1);
y=fscanf(fin,'%g',1);
z=fscanf(fin,'%g',1);
while (x>=-85&&x=-65&&y
我假设你输入的那个文件时用逗号隔开三列的,那么只需要下边几句话就能完成你的工作了.

data=dlmread('EMAG2.txt');
ind=data(:,1)>=-85 & data(:,1)<=-30 & data(:,2)>=-60 & data(:,1)<=15;
dlmwrite('EMAG2.dat',data(ind,:),' ')

为了测试我自己写了一个txt,右侧的dat是运行程序后的结果.

再问: 你是用的什么软件?matlab?还是C?
再答: matlab啊 给你看的这个是一个编辑器,跟matlab无关,只是为了让你看看哪结果。
再问: 我试了,没有效果
再答: 你文件放进文件夹中了吗?你那个文件把那个txt文件截个图发出来?你单步执行看看,第二步结束后data对不对。我这三步程序保证没有问题。