如何取matlab 里细胞阵列(cell)的对角线的值

我在matlab的运算过程中,将每个数值写成细胞阵列(cell)数值为3x3的资料,现在想要取每一个细胞阵列的对角线值,我该怎麼取,我用 function diag,但是出现错误。麻烦了高手了,谢谢。

第1个回答  2014-09-18
直接用diag可以的呀。例如

A={2,2,-1;2,4,-2;-1,-2,2}

A =

[ 2] [ 2] [-1]
[ 2] [ 4] [-2]
[-1] [-2] [ 2]

>> diag(A)

ans =

[2]
[4]
[2]追问

我照你打的,它显示 'Undefined function 'diag' for input arguments of type 'cell'.'怎麼会这样??
但是如果是a=[1 2 3;4 5 6;7 8 9];diag(a);
diag(a)

ans =

1
5
9
这样就可以,可是这就不是我要的。

追答

不会吧,把matlab关掉重开试试。我的是没问题的。

追问

你好,我查了help发现diag是只能给matrices使用。

diag: create or extract diagonals of symbolic matrices!
但是还是谢谢你。附上悬赏。

追答

不客气

本回答被网友采纳
相似回答