【发布时间】:2014-02-11 23:17:39
【问题描述】:
我正在尝试用公式 进行计算
我想将每个值存储到一个行向量中。这是我的尝试:
multiA = [1];
multiB = [];
NA = 6;
NB = 4;
q = [0,1,2,3,4,5,6];
for i=2:7
multiA = [multiA(i-1), (factorial(q(i) + NA - 1))/(factorial(q(i))*factorial(NA-1))];
%multiA = [multiA, multiA(i)];
end
multiA
但这不起作用。我收到错误消息
Attempted to access multiA(3); index out
of bounds because numel(multiA)=2.
multiA = [multiA(i-1), (factorial(q(i)
+ NA -
1))/(factorial(q(i))*factorial(NA-1))];
我的代码是否与我想要实现的目标非常接近?我能做些什么来解决它?
【问题讨论】:
-
下面给出的答案是正确的和推荐的方法,但在这里理解你的错误。当你这样做时,
multiA = [multiA(i-1),<<big_expression>>],然后,在每次迭代中,你只会得到 2 元素长向量multiA,因为mutliA(i-1)和你的<<big_expression>>都是标量。如果您想遵循您的方法,您应该在进入for循环之前完成->multiA = [multiA,<<big_expression>>]并声明multiA=[]。这就是 MATLAB 告诉你的,numel(multiA)=2。 -
+1
meshgrid使用