先看一个简单的问题:给定下列5行字符串,要求统计出每行中字符a,g,c,t出现的频数,并把结果写到一个文本文件(txt)中。
1.agcfsdkvkdskflcsgggccffsdkjflsnljsff
2.agcfsdkvkadskflcsaaaaaaaaaagggccffsdkjflsnljsff
3.agcfsdkvkadskflcsaaaaaaaaaaaaaaaaaagggccffsdkjflsnljsfffhdddgfdhagahsjfhsf
4.agcfsdkvkadskflcsaaaaaaaaaaaaaaaaaagggccffsdkjflsnljsff
5.kjvkdgnsdfghjklbvcxzdfghvcxdfwertyuihgcxcvbnbv
实现比较简单:
clc
fid1 = fopen('shuju.txt','r')
i = 1;
while (~feof(fid1))
data = fgetl(fid1);
a = length(find(data == 97));
b = length(find(data == 99));
c = length(find(data == 103));
d = length(find(data == 116));
e = length(find(data>=97 & data<=122));
f(i,:) = [a b c d e a+b+c+d];
i = i+1;
end
f,he = sum(f)
dlmwrite('pinshu.txt',f);
dlmwrite('pinshu.txt',he,'-append');
fclose(fid1);
结果:
fid1 =
4
f =
1 4 4 0 36 9
12 4 4 0 47 20
22 4 6 0 74 32
20 4 4 0 55 28
0 4 4 1 46 9
he =
55 20 22 1 258 98
………..待续
下面学习方差分析: