[心得] 資料型態 轉存方法

看板MATLAB作者 (跟快樂交往)時間10年前 (2015/03/29 19:53), 10年前編輯推噓3(308)
留言11則, 4人參與, 最新討論串1/2 (看更多)
大家好 大家晚安 假設我有以下資料 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 以上為 (i,j)值僅有{0,1} 3*8的double型態 想要的到 00000000 00000001 10000000 欲得 把(i,1)到(i,8)抓起來在一起 3*1的uint8 3*1的char 我知道uint8()跟char()的function 可是 轉出來依舊還是3*8矩陣 感謝大家 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.78.110 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1427630015.A.C3F.html

03/29 21:58, , 1F
猜char(matrix), matrix是3*8的矩陣
03/29 21:58, 1F

03/29 23:13, , 2F
不是喔 我有是過 出來是3*8
03/29 23:13, 2F

03/29 23:23, , 3F
char矩陣本來就是3*8阿 一個字元是一個空間
03/29 23:23, 3F

03/29 23:23, , 4F
你要3*1只能用cell 應該是 cellstr(char(matrix))
03/29 23:23, 4F

03/29 23:24, , 5F
抱歉一開始沒看到最後兩行...你試過了。Y
03/29 23:24, 5F
??? Error using ==> cellstr at 34 Input must be a string. Error in ==> TEST1 at 5 Q=cellstr(uint8(Matrix)) 還是不行耶 好複雜~"~ ※ 編輯: Lionel (118.171.69.111), 03/29/2015 23:31:13

03/30 00:01, , 6F
推3F char出來不可能是3*1 除非例如你10000000已經變128
03/30 00:01, 6F

03/30 00:05, , 7F
但那樣也不會是3*1 總之要用cell存才有可能
03/30 00:05, 7F

03/30 00:10, , 8F
http://pastebin.com/cHeKBGxX 我覺得我用的很複雜
03/30 00:10, 8F

03/30 00:12, , 9F
str2num?
03/30 00:12, 9F

03/30 00:22, , 10F
改這樣比較簡單 http://pastebin.com/UjDNGm5z
03/30 00:22, 10F

03/30 00:23, , 11F
03/30 00:23, 11F
文章代碼(AID): #1L5-U_m_ (MATLAB)
文章代碼(AID): #1L5-U_m_ (MATLAB)