看板 MATLAB 關於我們 聯絡資訊
最近問題真的很多 請各位大大見諒 count是inseq對symbol出現的次數 比如995在inseq出現在7次可藉查詢symbol 讓count的第一個值是7 symbol=[995;885;1000;997]則count=[7;2;2;1] 以下是我的程式碼 inseq = [995;885;995;995;885;1000;995;995;995;995;1000;997]; symbol= [995;885;1000;997] for k=1:length(symbol) for m=1:length(inseq) if symbol(1:length(symbol))==inseq(m) count(k)=count(k)+1; end end end 可是我不知道哪邊出錯就是吃不進去 跑出來的結果count=[0;0;0;0] 如果想讓count=[7;2;2;1]的話 可否請版上各位大大指導一下~感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.135.9.155
ejialan:if那行改成 if symbol(k)==inseq(m) 02/01 18:23
Rasin:count(1)=sum(inseq==symbol(1)) 02/01 19:01
Rasin:% follow bellow 02/01 19:02
Rasin:len=length(inseq); 02/01 19:03
Rasin:for i=1:len 02/01 19:03
Rasin:count(i)=sum(inseq==symbol(i)); 02/01 19:04
Rasin:end 02/01 19:04
Rasin:% set the size of count if massive 02/01 19:09
Raymond0710:symbol = [885;995;997;1000]; % 由小到大 02/01 23:15
Raymond0710:histc(inseq,symbol) % ans = [2;7;1;2] 02/01 23:15
zxxch123:感謝e大~謝謝R大 這樣又改進我統計的方式 THX!!! 02/03 14:34