sun1993 发表于 2008-10-19 19:17

求助三维数组赋值的问题

有E=[ E1 E2 E3 ], 想给3*3*10三维数组H赋值, 使其第三维都是对角化的E矩阵
用H( :, :, : )=diag(E, 0) 报错,
请教该怎么写?
谢谢

ch_j1985 发表于 2008-10-19 20:11

试试H( 1, 1, : )=diag(E, 0)

sun1993 发表于 2008-10-19 20:20

仍然是Subscripted assignment dimension mismatch

ch_j1985 发表于 2008-10-19 20:42

E=[ E1 E2 E3 ]的维数是多少?是1X10吗?
另外,可以查查diag的用法

sogooda 发表于 2008-10-20 10:50

我想楼主的意思可能是这样的
H(:,:,1)=diag();

happy 发表于 2008-10-21 06:39

应该是楼主矩阵之间的维数没搞清楚
大家这样瞎猜也没用,如果楼主真需要,把你完整的代码发上来吧

sun1993 发表于 2008-10-22 18:06

回复 6楼 happy 的帖子

我是想让一3*3*10三维数组,每一页都是
最后很笨地用了循环

ch_j1985 发表于 2008-10-22 18:32

回复 7楼 sun1993 的帖子

怎么越看越糊涂啦?:@(

rocwoods 发表于 2008-10-22 19:35

like this?
repmat(diag(E),)

ch_j1985 发表于 2008-10-23 00:07

回复 7楼 sun1993 的帖子

一个关于多维数组问题的精华帖:
http://forum.vibunion.com/forum/viewthread.php?tid=23825&extra=page%3D1%26amp%3Bfilter%3Ddigest
页: [1]
查看完整版本: 求助三维数组赋值的问题