Math 比较矩阵Matlab2

Math 比较矩阵Matlab2,math,matlab,matrix,Math,Matlab,Matrix,这是我关于比较两个矩阵的第二个问题。我试着比较两个矩阵,(3x3)和(4x6)。休闲代码工作得很好,但如果我想用注释行替换矩阵z,matlab不再喜欢我的代码了:(请你指出我的错误! 我会非常高兴的, 米高梅 清除 x=[048;325;215]; y=[01.12.1 3.6 7.3;13.2 2.2.4;21.3.3.4 6.7 5.8;3.4 5 6.6 6.5 7.8]; z=零(6,3); 对于i=1:3 对于j=1:3 对于p=1:6 r=1:4时 如果x(i,1)=y(p,1) z

这是我关于比较两个矩阵的第二个问题。我试着比较两个矩阵,(3x3)和(4x6)。休闲代码工作得很好,但如果我想用注释行替换矩阵z,matlab不再喜欢我的代码了:(请你指出我的错误! 我会非常高兴的, 米高梅

清除
x=[048;325;215];
y=[01.12.1 3.6 7.3;13.2 2.2.4;21.3.3.4 6.7 5.8;3.4 5 6.6 6.5 7.8];
z=零(6,3);
对于i=1:3
对于j=1:3
对于p=1:6
r=1:4时
如果x(i,1)=y(p,1)
z(p,j)=x(i,j);

elseif(x(i,1)你发布的代码并不完美——你只是幸运地选择了数字组合;)

只需对您发布的elseif语句中的值进行比较,您就会看到此代码没有按预期工作

切换此线路:

elseif (x(i,1)<y(p,1))&&(y(p,1)<x(i+1,1))

elseif(x(i,1)
??试图访问x(1,4);索引超出范围,因为大小(x)=[3,3].
我不知道您想要实现什么,但错误非常明确。当
j
为3时,
j+1
为4,大于
x
的大小。非常感谢您的回答!您能告诉我如何解决此错误吗?例如,如何为j+1或I+1输入另一个值。如您所见我试图理解matlab的思维机制,但在这方面我确实缺乏经验:(@Simon当两个矩阵的大小不同时,比较它们意味着什么?游戏结束。这毫无意义。整个想法是错误的。实际上,我比较了两个矩阵的第一列。如果两个矩阵的列元素彼此相等,我的程序选择第一个矩阵的第一行,如果se的列元素之一cond matrix位于第一个矩阵的到连续列元素之间,它计算第一个矩阵的两行元素的平均值并创建一个新行。事实上,“compare”不是定义我的问题的好选择:(无论如何,我找不到更好的描述:(
elseif (x(i,1)<y(p,1))&&(y(p,1)<x(i+1,1))
elseif ((y(p,1)<x(i+1,1)&&x(i,1)<y(p,1)))