作者candy88257 (阿泰斯)
看板MATLAB
标题[讨论] 要怎麽将元素依照行列放进去空矩阵?
时间Sun Mar 31 10:22:32 2013
如现在有一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
1F:→ candy88257:补充,重点是cell矩阵里有xyz等变数。 03/31 10:25
2F:→ candy88257:它会出现: 03/31 10:26
3F:→ candy88257:All contents of the input cell array must be of the 03/31 10:26
4F:→ candy88257:same data type. 03/31 10:26
5F:推 iHakka:先创造一个大小跟cell一样size的阵列再放进去 03/31 11:10
6F:→ candy88257:大大,小弟是新手,恳求提示@@ 03/31 11:13
7F:→ candy88257:创造空矩阵A=[]; 要怎麽创造大小是3*3的@@? 03/31 11:15
8F:→ iHakka:data=zeros(5),ii=1:25,data(ii)=ii这是举例 03/31 11:16
9F:→ iHakka:如果已知大小的话就先创造好可以省动态配置的时间 03/31 11:17
10F:→ iHakka:另外请善用help 指令参考范例 03/31 11:18
11F:→ candy88257:就是随便创一个矩阵(不一定要空集合),然後再取代就好? 03/31 11:20
12F:→ iHakka:试了就知道了 03/31 11:23
13F:→ candy88257:答案是不行@@ 03/31 11:25
14F:→ iHakka:哪个不行?我举的范例还是你要做的东西? 03/31 11:27
15F:→ candy88257:我说的先创任意矩阵然後再取代元素不行 03/31 11:33
16F:→ candy88257:感谢! 又学到reshape这指令 03/31 11:36
17F:→ iHakka:我不确定你要转的东西是什不过cell2mat是有范例可以转这样 03/31 11:45
18F:→ candy88257:好像cell的矩阵里面有文字(X、Y、Z)就没办法= = 03/31 11:57
19F:→ iHakka:文字转成矩阵除非size都一样才能转吧?! 03/31 12:04
20F:→ candy88257:我的cell的矩阵就好像是: [x+3*y+0.9 2*y+3.1;......] 03/31 12:08
21F:→ candy88257:类似这种有未知数又有数字的矩阵 03/31 12:08
22F:→ candy88257:有关size的问题,有办法转成一样吗? 03/31 12:09
23F:→ iHakka:你转过去要做什麽?转成文字阵列他就变一行一行的这样 03/31 12:11
24F:→ candy88257:不是要转成文字阵列,是我有一个cell格式的矩阵 03/31 12:19
25F:→ candy88257:想把它转成可以运算的格式的矩阵。 03/31 12:20
26F:→ candy88257:大大你先去吃饭吧,因为我也要去吃饭了,感谢! 03/31 12:21
27F:→ candy88257:经过测试,如果是所有元素都为数字的矩阵可以正常汇入 03/31 13:01
28F:→ candy88257:matlab,但是有未知数当元素的矩阵好像没办法@@ 03/31 13:01
29F:→ iHakka:如果你要用sym来算的话ii=1:4,B(ii)=sym(cell2mat(A(ii)) 03/31 19:36
30F:→ iHakka:在reshape成你要的形状,我试过可以不知道有没有其他方法 03/31 19:37
31F:→ candy88257:成功了! 太感谢您了!! 03/31 20:34