Matlab中的For循环迭代

用户名

我正在尝试解决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所说,您还应该将循环修改jjfor jj = 1:ii

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章