MATLAB - 使用for循环的系列的部分和

时间:2017-09-27 23:27:10

标签: matlab for-loop

我正在尝试在MATLAB中编写一个脚本,它使用单个for循环计算并显示下面屏幕截图中显示的系列的前5个术语(我不知道如何在这里输入方程式和特殊字符)。我是MATLAB的新手,问题是让我失望,因为我也应该在不使用prodsumfactorial命令或类似命令的情况下提出解决方案。真的很感激一个很好的详细解答,有一个问题的模型答案,可能使用不同的值,所以我可以自己解决实际的问题。

Partial Sums Series

1 个答案:

答案 0 :(得分:0)

使用单个for循环,您可以单独显示和计算这些术语,并使用累加器变量来获得总和,如下所示:

function accumulator = partial_sums(x, iters)
    accumulator = 0;  % sum of the terms
    fact_part = 1;  % factorial of the current term
    for n = 1:iters
        fact_part = fact_part * (n + 1) * (n + 2);
        term = ((-1) ^ n) * (4 * n) * (x ^ (2 * n)) / fact_part;
        fprintf('Term n = %i is %f.\n', n, term);
        accumulator = accumulator + term;
    end
end

此函数接受部分和系列中使用的变量x的值,以及要运行的迭代次数(iters)(也就是要计算的术语)。

用于存储当前阶乘的fact_part变量,由于factorial内置是非法的,因此我随每个循环增加,因为使用另一个可用于计算阶乘的循环方式。

然后,该函数计算每个循环的当前term,将其显示在下一行(根据请求),并将其添加到accumulator变量。