欣赏世界 发表于 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

{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}{:3_41:}
页: [1]
查看完整版本: 关于matlab如何读取“*.text”文件的问题