如何消除这个MATLAB错误&引用;在赋值A(I)=B中,B和I中的元素数量必须相同。”;

如何消除这个MATLAB错误&引用;在赋值A(I)=B中,B和I中的元素数量必须相同。”;,matlab,struct,indexing,Matlab,Struct,Indexing,对于下面的b数组,我一直遇到这个错误 A=一(单位,2*numdof) b=一(整数,1) 我测试了创建b数组的每个组件(受试者(I)、试验(j)、E等),它们都是标量值。因此,我应该能够添加/减去它们,然后将它们分配给预分配的b数组中的索引。简单的虚拟版本如下所示: c=一(4,1) c= c(3)=3 c= 那么我在这里错过了什么?谢谢 您可能应该打印出作业中每个元素的大小,您的问题就会自行解决 size(cat(2,subject(i).trial(j).torque_integral

对于下面的b数组,我一直遇到这个错误

A=一(单位,2*numdof)
b=一(整数,1)


我测试了创建b数组的每个组件(受试者(I)、试验(j)、E等),它们都是标量值。因此,我应该能够添加/减去它们,然后将它们分配给预分配的b数组中的索引。简单的虚拟版本如下所示:

c=一(4,1)

c=

c(3)=3

c=



那么我在这里错过了什么?谢谢

您可能应该打印出作业中每个元素的大小,您的问题就会自行解决

size(cat(2,subject(i).trial(j).torque_integral, subject(i).trial(j).work_integral))
size([subject(i).trial(j).E - subject(i).trial(j).B - sum(subject(i).trial(j).work_integral)])

注意-我将去掉尾随的
导致值输出到控制台;此外,您对B的赋值有
[]
围绕,就好像您试图创建一个向量一样。如果它真的是一个单一元素,那么就没有必要了…

谢谢!我在代码中的某个地方出现了一个不明显的错误,当我修复它时,这个错误消息消失了。有趣的替代答案,我还没有探索细胞,但谢谢!
 1
 1
 1
 1
 1
 1
 3
 1
size(cat(2,subject(i).trial(j).torque_integral, subject(i).trial(j).work_integral))
size([subject(i).trial(j).E - subject(i).trial(j).B - sum(subject(i).trial(j).work_integral)])