请教一下各位友友,这个报错的意思有点不太明白(说是元素不能超过向量边界,元素不能超过1)
加上B=zeros(3)就好了,这是为什么啊,非得要事先将B(i,j)固定成3x3结构吗?
他不能直接根据A(i,j)=B(i, j)自动生成3x3的吗?


请教一下各位友友,这个报错的意思有点不太明白(说是元素不能超过向量边界,元素不能超过1)
加上B=zeros(3)就好了,这是为什么啊,非得要事先将B(i,j)固定成3x3结构吗?
他不能直接根据A(i,j)=B(i, j)自动生成3x3的吗?


关注引自免费微信小程序:皆我百晓生
根据你提供的问题描述和图片,我理解你遇到了一个MATLAB错误,错误提示说元素不能超过向量边界,元素不能超过1。你想知道为什么需要在前面加上B=zeros(3)才能解决这个问题,是否必须事先将B(i,j)固定成3x3结构。
首先,元素不能超过向量边界的报错通常涉及到矩阵维度不匹配的问题。假设你想将矩阵B中的某个元素赋值给矩阵A中的相应位置,例如A(i,j) = B(i,j)。在这种情况下,如果A和B的维度不相同,就会出现维度不匹配的错误。
在你的情况中,如果B是一个3x3的矩阵,那么在执行A(i,j) = B(i,j)时,A的对应位置也应该是一个3x3的矩阵,以保持维度匹配。因此,你需要先将A的对应位置设置为一个3x3的矩阵(例如,使用B=zeros(3))。
请注意,这只是一种假设,具体解决方法可能因你的具体代码和应用场景而异。如果你提供更多的细节或代码示例,我可以给出更具体的解决方案。