duzhijun1983 发表于 2007-11-15 14:03

怎么把矩阵放入一个数组中?

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 编辑 ]

vib 发表于 2007-11-15 14:07

根据搂住的程序推断: = size(position_y);说明position_y是二维矩阵吧,你在出错那一句把它作为一维调用呢?

另:类似问题请把报错的提示发上来,

duzhijun1983 发表于 2007-11-15 14:18

报错:

??? 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就可以正常运行,但是只能得到最后一个结果。

duzhijun1983 发表于 2007-11-15 14:19

position_y是一维的,所以这样调用没有错。

duzhijun1983 发表于 2007-11-15 14:31

这里存在的问题好像是不能把一个矩阵赋值给一个矩阵元素.
是这样吗,请问怎么解决呢?

duzhijun1983 发表于 2007-11-15 14:46

怎么把矩阵放入一个数组中?

我想编一个程序,返回一个数组,数组的元素是几个数值矩阵,请问怎么实现?

我这样写:

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 编辑 ]

cnz 发表于 2007-11-15 14:53

直接定义个多维数组就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

心灯 发表于 2007-11-15 15:00

for i = 1 : 5
    a{i} =zeros(2,2);
end

doc cell

duzhijun1983 发表于 2007-11-15 15:18

知道了啊,谢谢啊~

duzhijun1983 发表于 2007-11-15 15:59

问题又来了~
如果是一个程序中,我需要把一个cell数组作为返回值,应该怎么实现呢?

麻烦了啊!

eight 发表于 2007-11-15 16:10

原帖由 duzhijun1983 于 2007-11-15 15:59 发表 http://www.chinavib.com/forum/images/common/back.gif
问题又来了~
如果是一个程序中,我需要把一个cell数组作为返回值,应该怎么实现呢?

麻烦了啊!
function a=myabc

duzhijun1983 发表于 2007-11-15 16:27

我知道了,刚才自己弄错了~

duzhijun1983 发表于 2007-11-15 16:28

谢谢大家这么热心!
页: [1]
查看完整版本: 怎么把矩阵放入一个数组中?