怎么把矩阵放入一个数组中?
function horizontal_part = horizontal_partition(m, y)position_y = y;
= size(position_y);
for i = 1 : n -1
horizontal_part(i) = m(position_y(i) + 1 : position_y(i + 1) - 1, :)
end;
这里面horizontal_part(i)提示错误,是不是不能这样用,请问应该怎么改??
[ 本帖最后由 eight 于 2007-11-15 15:19 编辑 ] 根据搂住的程序推断: = size(position_y);说明position_y是二维矩阵吧,你在出错那一句把它作为一维调用呢?
另:类似问题请把报错的提示发上来, 报错:
??? Index exceeds matrix dimensions.
Error in ==> horizontal_partition at 7
horizontal_part(i) = m(position_y(i) + 1 : position_y(i + 1) - 1, :)
Error in ==> test_pdf417 at 7
horizontal_image = horizontal_partition(gray, position_horizontal);
不过只要将horizontal_part(i)改成horizontal_part就可以正常运行,但是只能得到最后一个结果。 position_y是一维的,所以这样调用没有错。 这里存在的问题好像是不能把一个矩阵赋值给一个矩阵元素.
是这样吗,请问怎么解决呢?
怎么把矩阵放入一个数组中?
我想编一个程序,返回一个数组,数组的元素是几个数值矩阵,请问怎么实现?我这样写:
for i = 1 : 5
a(i) =zeros(2,2);
end
但是会报错,In an assignmentA(I) = B, the number of elements in B and I must be the same.
请问怎么实现我说的功能。
[ 本帖最后由 eight 于 2007-11-15 15:14 编辑 ]
直接定义个多维数组就ok了
a=rand(2,3,4)a(:,:,1) =
0.846221417824324 0.202647357650387 0.838118445052387
0.525152496305172 0.672137468474288 0.0196395138648175
a(:,:,2) =
0.681277161282135 0.831796017609607 0.709471392703387
0.379481018027998 0.502812883996251 0.428892365340997
a(:,:,3) =
0.304617366869394 0.193431156405215 0.302764400776609
0.189653747547175 0.682223223591384 0.541673853898088
a(:,:,4) =
0.150872976149765 0.378373000512671 0.853655130662768
0.697898481859863 0.86001160488682 0.593562912539682 for i = 1 : 5
a{i} =zeros(2,2);
end
doc cell 知道了啊,谢谢啊~ 问题又来了~
如果是一个程序中,我需要把一个cell数组作为返回值,应该怎么实现呢?
麻烦了啊! 原帖由 duzhijun1983 于 2007-11-15 15:59 发表 http://www.chinavib.com/forum/images/common/back.gif
问题又来了~
如果是一个程序中,我需要把一个cell数组作为返回值,应该怎么实现呢?
麻烦了啊!
function a=myabc 我知道了,刚才自己弄错了~ 谢谢大家这么热心!
页:
[1]