[討論] 要怎麼將元素依照行列放進去空矩陣?

看板MATLAB作者 (阿泰斯)時間13年前 (2013/03/31 10:22), 編輯推噓1(1030)
留言31則, 2人參與, 最新討論串1/1
如現在有一3*3的cell 把他們都轉成數值後,如果只是: A=cell矩陣; data=[]; for m=1:3 for n=1:3 data=[data,cell2mat(A(m,n))]; end end 的話,data會變成一個1*1的矩陣,裡面是所有數字連在一起... 請問有解決辦法嗎!? 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.130.17.1

03/31 10:25, , 1F
補充,重點是cell矩陣裡有xyz等變數。
03/31 10:25, 1F

03/31 10:26, , 2F
它會出現:
03/31 10:26, 2F

03/31 10:26, , 3F
All contents of the input cell array must be of the
03/31 10:26, 3F

03/31 10:26, , 4F
same data type.
03/31 10:26, 4F

03/31 11:10, , 5F
先創造一個大小跟cell一樣size的陣列再放進去
03/31 11:10, 5F

03/31 11:13, , 6F
大大,小弟是新手,懇求提示@@
03/31 11:13, 6F

03/31 11:15, , 7F
創造空矩陣A=[]; 要怎麼創造大小是3*3的@@?
03/31 11:15, 7F

03/31 11:16, , 8F
data=zeros(5),ii=1:25,data(ii)=ii這是舉例
03/31 11:16, 8F

03/31 11:17, , 9F
如果已知大小的話就先創造好可以省動態配置的時間
03/31 11:17, 9F

03/31 11:18, , 10F
另外請善用help 指令參考範例
03/31 11:18, 10F

03/31 11:20, , 11F
就是隨便創一個矩陣(不一定要空集合),然後再取代就好?
03/31 11:20, 11F

03/31 11:23, , 12F
試了就知道了
03/31 11:23, 12F

03/31 11:25, , 13F
答案是不行@@
03/31 11:25, 13F

03/31 11:27, , 14F
哪個不行?我舉的範例還是你要做的東西?
03/31 11:27, 14F

03/31 11:33, , 15F
我說的先創任意矩陣然後再取代元素不行
03/31 11:33, 15F

03/31 11:36, , 16F
感謝! 又學到reshape這指令
03/31 11:36, 16F

03/31 11:45, , 17F
我不確定你要轉的東西是什不過cell2mat是有範例可以轉這樣
03/31 11:45, 17F

03/31 11:57, , 18F
好像cell的矩陣裡面有文字(X、Y、Z)就沒辦法= =
03/31 11:57, 18F

03/31 12:04, , 19F
文字轉成矩陣除非size都一樣才能轉吧?!
03/31 12:04, 19F

03/31 12:08, , 20F
我的cell的矩陣就好像是: [x+3*y+0.9 2*y+3.1;......]
03/31 12:08, 20F

03/31 12:08, , 21F
類似這種有未知數又有數字的矩陣
03/31 12:08, 21F

03/31 12:09, , 22F
有關size的問題,有辦法轉成一樣嗎?
03/31 12:09, 22F

03/31 12:11, , 23F
你轉過去要做什麼?轉成文字陣列他就變一行一行的這樣
03/31 12:11, 23F

03/31 12:19, , 24F
不是要轉成文字陣列,是我有一個cell格式的矩陣
03/31 12:19, 24F

03/31 12:20, , 25F
想把它轉成可以運算的格式的矩陣。
03/31 12:20, 25F

03/31 12:21, , 26F
大大你先去吃飯吧,因為我也要去吃飯了,感謝!
03/31 12:21, 26F

03/31 13:01, , 27F
經過測試,如果是所有元素都為數字的矩陣可以正常匯入
03/31 13:01, 27F

03/31 13:01, , 28F
matlab,但是有未知數當元素的矩陣好像沒辦法@@
03/31 13:01, 28F

03/31 19:36, , 29F
如果你要用sym來算的話ii=1:4,B(ii)=sym(cell2mat(A(ii))
03/31 19:36, 29F

03/31 19:37, , 30F
在reshape成你要的形狀,我試過可以不知道有沒有其他方法
03/31 19:37, 30F

03/31 20:34, , 31F
成功了! 太感謝您了!!
03/31 20:34, 31F
文章代碼(AID): #1HLvthY5 (MATLAB)
文章代碼(AID): #1HLvthY5 (MATLAB)