matlab:统计下列五行字符串中字符a、c、g、t出现的 频数。(解析下每句是什么意思)
1.aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacggagg2.cggaggacaaacgggatggcggtatt...
1.aggcacggaaaaacgggaataacggaggaggacttggcacggcattacacgga
gg
2.cggaggacaaacgggatggcggtattggaggtggcggactgttcgggga
3.gggacggatacggattctggccacggacggaaaggaggacacggcggacatac
a
4.atggataacggaaacaaaccagacaaacttcggtagaaatacagaagctta
5.cggctggcggacaacggactggcggattccaaaaacggaggaggcggacgga
ggc
clc
fid=fopen('shuju.txt','r');i=1;
while (~feof(fid))
data=fgetl(fid);
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(fid);
其中length是干什么的,97 99 103 116是什么数据?f(i,:)里的,和:是什么?这程序是如何循环的? 展开
gg
2.cggaggacaaacgggatggcggtattggaggtggcggactgttcgggga
3.gggacggatacggattctggccacggacggaaaggaggacacggcggacatac
a
4.atggataacggaaacaaaccagacaaacttcggtagaaatacagaagctta
5.cggctggcggacaacggactggcggattccaaaaacggaggaggcggacgga
ggc
clc
fid=fopen('shuju.txt','r');i=1;
while (~feof(fid))
data=fgetl(fid);
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(fid);
其中length是干什么的,97 99 103 116是什么数据?f(i,:)里的,和:是什么?这程序是如何循环的? 展开
1个回答
展开全部
length是求向量的长度,也就是向量中元素的个数。97 99 103 116分别是a c g t的ascii码,冒号代表所有列;while循环判断读文件是否读到文件尾。
追问
那这个find(data==97)
怎解析?
能不能解析下
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');
详细点 谢谢
追答
find(data==97)查找data中哪些元素是'a'。
f(i,:)=[a b c d e a+b+c+d];i=i+1;
程序一行一行读取,没读取一行就统计一次,并把结果存在f里面。最后he=sum(f)将每一列求和,统计出整个文件中a,c,g,t的个数。dlmwrite写文件,保存统计的结果。'-append'是追加的意思
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询