[問題] 關於矩陣取"列"的個數已回收

看板MATLAB作者 (Evolution ...)時間16年前 (2009/02/22 19:06), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
假設現在我的input檔案是一個n*1的矩陣a如下(sort好了) a: 1 1 1 1 2 2 3 現在我要用另一個矩陣b來存結果 要從a裡一行一行掃下去 有重複的就累計總個數存進b裡面 從以上例子b當然就是一個3*2的矩陣 結果會如下: b: 1 4 2 2 3 1 我用兩個for來跑這個關係 如果一行一行的值相同累計加一的部分OK了 可是當兩個值不同時 我的作法是把b裡目前的行數讀出來+1 (變成新的一個欄位) 也就是說變成如下: b: 1 4 _ 然後在這個行的第一列存這個不同於前面一個的值 b: 1 4 2 我用的code如下 b(size(b(:,1))+1,1)=a; size(b(:,1))算是去算目前b裡有幾行嗎? 可是這樣出來的結果整個亂掉 不知道這樣寫是對的嗎?! 拜託大家幫忙解一下題目了!!! p.s 目前是matlab的新手 ... 還不太會用太多function 不過matlab真的很好玩!! 多謝大家了!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 68.177.198.215

02/22 19:50, , 1F
size(b(:,1)) 傳出來的會是1*2的矩陣
02/22 19:50, 1F

02/22 19:51, , 2F
size(b) , size(b,1) , size(b,2) 會發現這三個不一樣
02/22 19:51, 2F

02/22 19:52, , 3F
想要查 function 的功用 可以在 輸入 help XXXX<- func.
02/22 19:52, 3F

02/22 19:53, , 4F
doc 裡面通常都會有範例 以及function說明
02/22 19:53, 4F

02/22 19:53, , 5F
e.g. help size
02/22 19:53, 5F

02/22 22:47, , 6F
這個例子試著用hist()會對您有幫助,不用寫for迴圈
02/22 22:47, 6F

02/23 05:36, , 7F
多謝多謝 ... 可以跑了!!^^
02/23 05:36, 7F
文章代碼(AID): #19eJ6v24 (MATLAB)
文章代碼(AID): #19eJ6v24 (MATLAB)