[問題] 求助應用於矩陣內的資料 可以不要做2的 …已回收

看板MATLAB作者 (阿發)時間16年前 (2010/03/09 16:59), 編輯推噓3(309)
留言12則, 2人參與, 最新討論串1/1
有一個矩陣 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 .... 矩陣大小 36*36 內容物都是0與1組成 我想要寫一段程式有辦法讀出每一列的第幾行是0 類似二進制 ... 像第一列 因為最旁邊是1所以我要開啟第一個檔案 第二列都沒有1,所以不開檔案 第三列,第二個是1,所以開第二個檔案 第四列,第一和二是1,所以開一和二檔案 第五列,第一和三是1,所以開第一和三檔案 我想問的是要怎麼去判別上述動作 本來我想到的方式是先去轉成十進制,後來發現因為位元數太多36 2的36次方數字太大了,這樣會很不方便。 想請問板上的高手,不知道有沒有辦法可以找到我要的資料?? find(矩陣名稱 = = 1) 可以列出所有的位置 但也不是我要的 , 麻煩高人出手指點一下,感謝 不知道問題有沒有描述清楚,如果有不清楚的地方,煩請告訴我 謝謝 剛剛用小程式先想 a=[1 1 0 0;0 0 1 1 ;0 0 0 1;0 0 1 0] for i=1:4 b=find(a(i,:)==1) end 做此動作可以得知第幾個數字是1,但做完後!! 就卡住 .... 知道位置後好像沒用處.... 思考過多種方式,轉十進制,數字太大&要做2的36次方次 寫巢狀迴圈,當等於1的時候還要去判別是第幾行第幾列,還是不行 有想到一種方式,不過有個地方有問題,我PO一篇新文章,免得好亂 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.124.42.216

03/09 17:06, , 1F
....test中!! 目前有想到辦法 在嘗試中
03/09 17:06, 1F
※ 編輯: afa0525 來自: 140.124.42.216 (03/09 17:24)

03/09 17:24, , 2F
卡住中 !!!
03/09 17:24, 2F

03/09 17:54, , 3F
你已經找到了...剩下的問題是怎麼把資訊拿來用
03/09 17:54, 3F

03/09 17:58, , 4F
剛剛改標題 !! 謝謝 ...
03/09 17:58, 4F

03/09 18:00, , 5F
不知道有沒有這類型的語法,麻煩幫忙了!! 用for好像也不行
03/09 18:00, 5F

03/09 19:33, , 6F
你需要的是eval
03/09 19:33, 6F

03/09 19:54, , 7F
不好意思 我還是有點不懂,那請問我是不是要做2的36次方次
03/09 19:54, 7F

03/09 19:55, , 8F
因為矩陣大小是 36*36的狀況
03/09 19:55, 8F

03/09 19:55, , 9F
我左思右想,還是不知道 要怎麼減少作的次數
03/09 19:55, 9F
※ 編輯: afa0525 來自: 140.124.42.216 (03/09 20:21)

03/10 06:55, , 10F
如何定義做的次數? 你總是要開這麼多檔不是嗎?
03/10 06:55, 10F

03/11 15:29, , 11F
如果有遇到一的地方就需要開檔
03/11 15:29, 11F

03/11 17:06, , 12F
感謝幫忙 我發現 eval 指令的用處
03/11 17:06, 12F
文章代碼(AID): #1BbWtv60 (MATLAB)
文章代碼(AID): #1BbWtv60 (MATLAB)