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,:)里的,和:是什么?这程序是如何循环的?
展开
 我来答
精进思维派
2013-08-03 · 用心创作内容,感谢您的关注。
精进思维派
采纳数:41 获赞数:257

向TA提问 私信TA
展开全部
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'是追加的意思
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式