Stats

Popular Posts

Followers

Mathematica 教學 矩陣每列非零元素長度

戴忠淵 於 2012年10月31日星期三 上午11:20 發表

 作者  windgaia (Gaia)                                           看板  MATLAB  標題  [問題] 想請問矩陣非零累加  時間  Mon Oct 22 17:57:55 2012 ───────────────────────────────────────   請問各位高手  如果我有一個矩陣   a=[0 1 2 2 0 0 1 0 3 3 3 0    0 0 0 1 1 0 0 0 2 0 0 0    2 0 0 1 5 4 1 2 5 0 0 0];  想累加各列之非零數的個數 分堆後變成  aa=[3 1 3   <--第一列1 2 2  及 1 及3 3 3     2 2 nan <--第二列1 1 及 2     1 6 nan]<--第三列 2及 1 5 4 1 2 5  該如何做呢?感謝<(_ _)>


a={{0,1,2,2,0,0,1,0,3,3,3,0},
{0,0,0,1,1,0,0,0,2,0,0,0},
{2,0,0,1,5,4,1,2,5,0,0,0}};

(* 每列先根據元素0利用函數SplitBy分組,再把不包含0的子陣列取出並計算長度 *)

Table[Map[Length,Select[SplitBy[a[[n]],#!=0&],FreeQ[#,0]==True&]],
{n,Length@a}]


Tags: , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~