[問題]又是一個矩陣查詢的問題

看板MATLAB作者時間14年前 (2012/02/01 17:54), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/1
最近問題真的很多 請各位大大見諒 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

02/01 18:23, , 1F
if那行改成 if symbol(k)==inseq(m)
02/01 18:23, 1F

02/01 19:01, , 2F
count(1)=sum(inseq==symbol(1))
02/01 19:01, 2F

02/01 19:02, , 3F
% follow bellow
02/01 19:02, 3F

02/01 19:03, , 4F
len=length(inseq);
02/01 19:03, 4F

02/01 19:03, , 5F
for i=1:len
02/01 19:03, 5F

02/01 19:04, , 6F
count(i)=sum(inseq==symbol(i));
02/01 19:04, 6F

02/01 19:04, , 7F
end
02/01 19:04, 7F

02/01 19:09, , 8F
% set the size of count if massive
02/01 19:09, 8F

02/01 23:15, , 9F
symbol = [885;995;997;1000]; % 由小到大
02/01 23:15, 9F

02/01 23:15, , 10F
histc(inseq,symbol) % ans = [2;7;1;2]
02/01 23:15, 10F

02/03 14:34, , 11F
感謝e大~謝謝R大 這樣又改進我統計的方式 THX!!!
02/03 14:34, 11F
文章代碼(AID): #1FAGlix_ (MATLAB)
文章代碼(AID): #1FAGlix_ (MATLAB)