我正在尝试解决matlab中的以下简单问题:
我试图通过使用for循环来做到这一点。但是,我还没有弄清楚。
到目前为止,这是我想出的:
n = [0:1:10];
b = 2*n;
c = 0.5*n;
B=0;
for ii = 1:length(b)
for jj = 1:length(c)
B(ii) = B+sum(b(jj)*c(ii-jj))
end
end
ii = jj并且我有c(0)时似乎遇到了问题,并且无法使用此索引。我怎样才能解决这个问题?
Matlab从中索引数组1
,因此该元素c(0)
不存在。解决此问题的最简单方法是将其添加1
到表达式中,因此可能
B(ii) = B+sum(b(jj)*c(ii-jj+1))
但是请确保在向量的另一端,这不会给您带来偏离1的错误。
通常,由于Matlab的索引从1开始,因此从源代码(例如数学表达式)转换算法时,必须考虑到这一点,索引从0开始。这是编写软件时必须进行的一种调整。
编辑:正如@Dan所说,您还应该将循环修改jj
为for jj = 1:ii
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句