发布网友 发布时间:2022-04-26 23:35
共3个回答
热心网友 时间:2023-11-12 08:01
假设文本文件data1.txt内容如下:
WESN29002410000017
WESN29002410000038
WESN29002410000045
WESN29002410000047
假设文本文件data2.txt内容如下:
WESN29002410000017
WESN29002410000028
WESN29002410000035
WESN29002410000047
我编写了一个Matlab函数解决你的问题,请保存为compareDataFrom2Files.m,并把三个文件(data1.txt、data2.txt和compareDataFrom2Files.m)放在同一目录下,再此目录中执行compareDataFrom2Files函数即可。
function ind=compareDataFrom2Files()
clear
clc
n=0;
f1 = fopen('data1.txt', 'r'); f2 = fopen('data2.txt', 'r');
c1 = fread(f1, '*char')'; c2 = fread(f2, '*char')';
data1 = getDataFromFile(c1); data2 = getDataFromFile(c2);
L1=length(data1);L2=length(data2);
for i=1:L1
for j=1:L2
if strcmp(data1{i},data2{j})
n=n+1;
ind(n)=i;
end
end
end
function data=getDataFromFile(file)
L=length(file);
n=0;
tempWord='';
wordStart=0;
for i=1:L
if isspace(file(i))
if wordStart==1
n=n+1;
data{1,n}=tempWord;
wordStart=0;
tempWord='';
end
else
if wordStart==1
tempWord=[tempWord file(i)];
if i==L
n=n+1;
data{1,n}=tempWord;
end
else
wordStart=1;
tempWord=file(i);
end
end
end
得到结果
ind =
1 4
表示第一个文件中的第1和第4行的数据在第二个文件中。
热心网友 时间:2023-11-12 08:02
将1.txt读到A中2.txt读到B中
A=textread('1.txt','s');
B=textread('2.txt','s');
a=zeros(size(A));%a为标记文件,如果A(i)在B中则a(i)=1否则=0;
for i=1:size(A)
for j=1:size(B)
if isequal(A(i),B(j))
a(i)=1;
break;
end
end
end
我试过了好用的
热心网友 时间:2023-11-12 08:02
在file菜单中 使用import 导入txt
字符串比较 用strcmp函数
热心网友 时间:2023-11-12 08:01
假设文本文件data1.txt内容如下:
WESN29002410000017
WESN29002410000038
WESN29002410000045
WESN29002410000047
假设文本文件data2.txt内容如下:
WESN29002410000017
WESN29002410000028
WESN29002410000035
WESN29002410000047
我编写了一个Matlab函数解决你的问题,请保存为compareDataFrom2Files.m,并把三个文件(data1.txt、data2.txt和compareDataFrom2Files.m)放在同一目录下,再此目录中执行compareDataFrom2Files函数即可。
function ind=compareDataFrom2Files()
clear
clc
n=0;
f1 = fopen('data1.txt', 'r'); f2 = fopen('data2.txt', 'r');
c1 = fread(f1, '*char')'; c2 = fread(f2, '*char')';
data1 = getDataFromFile(c1); data2 = getDataFromFile(c2);
L1=length(data1);L2=length(data2);
for i=1:L1
for j=1:L2
if strcmp(data1{i},data2{j})
n=n+1;
ind(n)=i;
end
end
end
function data=getDataFromFile(file)
L=length(file);
n=0;
tempWord='';
wordStart=0;
for i=1:L
if isspace(file(i))
if wordStart==1
n=n+1;
data{1,n}=tempWord;
wordStart=0;
tempWord='';
end
else
if wordStart==1
tempWord=[tempWord file(i)];
if i==L
n=n+1;
data{1,n}=tempWord;
end
else
wordStart=1;
tempWord=file(i);
end
end
end
得到结果
ind =
1 4
表示第一个文件中的第1和第4行的数据在第二个文件中。
热心网友 时间:2023-11-12 08:02
将1.txt读到A中2.txt读到B中
A=textread('1.txt','s');
B=textread('2.txt','s');
a=zeros(size(A));%a为标记文件,如果A(i)在B中则a(i)=1否则=0;
for i=1:size(A)
for j=1:size(B)
if isequal(A(i),B(j))
a(i)=1;
break;
end
end
end
我试过了好用的
热心网友 时间:2023-11-12 08:02
在file菜单中 使用import 导入txt
字符串比较 用strcmp函数