数学建模社区-数学中国

标题: 关于matlab如何读取“*.text”文件的问题 [打印本页]

作者: 欣赏世界    时间: 2009-7-8 19:00
标题: 关于matlab如何读取“*.text”文件的问题
怎么读取很多字母的个数,比如“tgacctcttgtcctgtatagcaacctatttggtaatgattccagcactcacagaaaagct
tgcacacatacacacacaccccacccctccccactaacaaatgcaagttggtaaacaaat
tccaaaaaggcataacaaaccttatatatatagacaaatatatattaaagttttttagtc
tgtactagaaagagcttcagacagaactgaccaccattccattgctcatcaatttcctgg
gacagcacctgagcgtgcgcttacgcgcgtacacacacatagacacgcactgcgatacaa
gtcctgatttgggagtccgtccttttaaaaacagccacatgctttcacgctctgagaccc
acccgtttctgtgagcagggggagggcaaggaaagccctggcctcagtccagccttttct
ctgcttccacctgctcaggctgtgtgctcttggttctgtcctgcacttgtgtgaattcca
aaactgtttttttaaaaaatggcccgcaccccaaatgtctccctgccccatactttgcaa”,怎么样去读取其中的字母t,g,a,c,的个数,并求出各占总数的比例?谢谢!
作者: zhaoying    时间: 2009-7-8 20:17
好像还不能读吧~~只能读一些数字~~
作者: mcm-dlu-edu    时间: 2009-7-9 10:06
可以读!!用fopen!!
把你上面的字段按放入abc.text中,再用以下程序,就可能得到每个字母的个数num和比例rate


alp={'t';'g';'a';'c'};
num=zeros(1,length(alp));
fid = fopen('abc.txt','r');
tline=1;
total=0;
i=0;
while tline~=-1
    i=i+1;
    tline = fgetl(fid);
    for j=1:length(tline)
        for k=1:length(alp)
            if strcmp(tline(j),alp(k));
               num(k)=num(k)+1;
            end
        end
    end
    if tline~=-1
       total=total+j;
    end
end

num
rate=num/total
作者: mcm-dlu-edu    时间: 2009-7-9 10:08
1# 欣赏世界


可以读!!用fopen!!
把你上面的字段按放入abc.text中,再用以下程序,就可能得到每个字母的个数num和比例rate


alp={'t';'g';'a';'c'};
num=zeros(1,length(alp));
fid = fopen('abc.txt','r');
tline=1;
total=0;
i=0;
while tline~=-1
    i=i+1;
    tline = fgetl(fid);
    for j=1:length(tline)
        for k=1:length(alp)
            if strcmp(tline(j),alp(k));
               num(k)=num(k)+1;
            end
        end
    end
    if tline~=-1
       total=total+j;
    end
end

num
rate=num/total
作者: 978462113    时间: 2009-7-9 20:18
这么看不懂呀?????
作者: jluzhking    时间: 2009-7-10 08:26
高手!~~这样都想出来了~~
作者: 欣赏世界    时间: 2009-7-10 20:57
哇!佩服佩服,您太强悍了,谢谢!
作者: 李芳    时间: 2014-4-21 20:07





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5