国产精品三级AV三级AV三级_日韩AV无码一区二区三区不卡_青青草激情在线久久久免费播放_人妻无码视频免费看

使用matlab怎么找出重復(fù)率 萬方

使用matlab怎么找出重復(fù)率 萬方

問:matlab 如何篩選一組數(shù)中重復(fù)的數(shù)
  1. 答:a=randint(4,10,[120]);
    u=unique(a);
    m=size(u,1);
    id=1;
    fork=1:m
    [ia,ib,ic]=find(u(k)==a);
    ifsum(ic)>1
    R{id,1}=u(k);
    R{id,2}=[iaib];
    R{id,3}=sum(ic);
    id=id+1;
    end;
    end;
    強(qiáng)大處理
    MATLAB是一個包含大量計(jì)算算法的集合。其擁有600多個工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便的實(shí)現(xiàn)用戶所需的各種計(jì)算功能。函數(shù)中所使用的算法都是科研和工程計(jì)算中的最新研究成果,而且經(jīng)過了各種優(yōu)化和容錯處理。在通常情況下,可以用它來代替底層編程語言,如C和C++ 。在計(jì)算要求相同的情況下,使用MATLAB的編程工作量會大大減少。
    以上內(nèi)容參考:
  2. 答:例如:
    x =
    ???? 2???? 2???? 6???? 5
    ???? 2???? 3???? 2???? 4
    ???? 3???? 4???? 3???? 4
    ???? 4???? 4???? 4???? 5
    第一步:找到唯一的.
    X=unique(x);
    X =
    ???? 2
    ???? 3
    ???? 4
    ???? 5
    ???? 6
    第二步:查找相應(yīng)位置
    for i=1:length(X)
    ???? [m n]=find(x==X(i));
    ?????if length(m)>=2
    disp(strcat(num2str(X(i)),'重復(fù)',num2str(length(m)),'次','位置為:' ,mat2str([m n])))
    ?? end
    end
    結(jié)果如下:
  3. 答:a = randint(4,10,[1 20]);
    u = unique(a);
    m = size(u,1);
    id = 1;
    for k = 1:m
    [ia,ib,ic] = find(u(k)==a);
    if sum(ic)>1
    R{id,1} = u(k);
    R{id,2} = [ia ib];
    R{id,3} = sum(ic);
    id = id+1;
    end;
    end;
    R
問:如何用matlab從一列數(shù)據(jù)中找出重復(fù)次數(shù)最多的數(shù)據(jù)?
  1. 答:你用for 循環(huán)嵌套if....end 去讀這一組數(shù)據(jù)中的每一個,每讀一個數(shù)據(jù),針對這個數(shù)據(jù)做一次計(jì)數(shù),下面接著讀,如果有和前面讀的數(shù)據(jù)相等的,那么再在前面的計(jì)數(shù)變量上加1,以此類推直到把所有的數(shù)據(jù)讀完!
    然后你根據(jù)各個不同計(jì)數(shù)變量的大小以及對應(yīng)的數(shù)據(jù),就可以直到那個重復(fù)的最多
  2. 答:?tabulate函數(shù)
    用于統(tǒng)計(jì)矩陣中各元素出現(xiàn)的次數(shù)
    >>?x?=?[2??2??6??5??2??3??2??4??3??4??3??4??4??4??4??2??2
    ??????6??0??4??7??2??5??8??3??1??3??2??5??3??6??2??3??5
    ??????4??3??1??4??2??2??2??3??1??5??2??6??3??4??1??2??5];
    >>?tabulate(x(:))
    ??Value????Count???Percent
    ??????0????????1??????1.96%
    ??????1????????4??????7.84%
    ??????2???????14?????27.45%
    ??????3???????10?????19.61%
    ??????4???????10?????19.61%
    ??????5????????6?????11.76%
    ??????6????????4??????7.84%
    ??????7????????1??????1.96%
    ??????8????????1??????1.96%
  3. 答:運(yùn)用tabulate函樹,輸入以下矩陣即可
    >> x = [2 2 6 5 2 3 2 4 3 4 3 4 4 4 4 2 2
    6 0 4 7 2 5 8 3 1 3 2 5 3 6 2 3 5
    4 3 1 4 2 2 2 3 1 5 2 6 3 4 1 2 5];
    >> tabulate(x(:))
    Value Count Percent
    0 1 1.96%
    1 4 7.84%
    2 14 27.45%
    3 10 19.61%
    4 10 19.61%
    5 6 11.76%
    6 4 7.84%
    7 1 1.96%
    8 1 1.96%
    MATLAB是美國MathWorks公司出品的商業(yè)數(shù)學(xué)軟件,用于算法開發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的高級技術(shù)計(jì)算語言和交互式環(huán)境,主要包括MATLAB和Simulink兩大部分。MATLAB應(yīng)用非常之廣泛。
  4. 答:a=[1,3,3,5,5,6,2,6,9,9];
    b=unique(a);
    c=histc(a,b);
問:有1500萬行數(shù)據(jù),如何用matlab統(tǒng)計(jì)每行數(shù)據(jù)出現(xiàn)的次數(shù)并將該條數(shù)據(jù)輸出到相應(yīng)的文件中?
  1. 答:這玩意其實(shí)不應(yīng)該用MATLAB做,用任意一種高級語言比如Python做比較好。
    有兩種方案,都是借助hash做
    如果你懂hash map的底層原理可以自己手動實(shí)現(xiàn),數(shù)組嵌套,數(shù)組的每一個元素是一個鏈表,數(shù)組長度設(shè)為2^24,數(shù)據(jù)存放在數(shù)組哪個位置通過hash算法得到,將該數(shù)據(jù)添加到鏈表中,一次遍歷就可以對數(shù)據(jù)完成統(tǒng)計(jì),然后相同的數(shù)據(jù)必定都在同一個鏈表中,如果鏈表長度小于10(自己定)就手動判斷重復(fù),如果長度過大就再在鏈表里通過加salt再次統(tǒng)計(jì)。
    嫌麻煩就借助hash map,map結(jié)構(gòu)為<string,list>,如果數(shù)據(jù)未在map中出現(xiàn),就添加進(jìn)去,并加到list后,以后都可以直接加到list中,這樣實(shí)際也是借助hash完成了分類,但list中重復(fù)率可能高了點(diǎn)(hash長度為16),這里統(tǒng)計(jì)完成了,然后是一樣的操作。
使用matlab怎么找出重復(fù)率 萬方
下載Doc文檔

猜你喜歡