使用MATLAB计算π的近似值:循环函数与sum函数实现

基于公式π^2/6=1/1^2+1/2^2+1/3^2+....+1/n^2,我们可以利用MATLAB编程来计算π的近似值。本文将使用循环函数和sum函数两种方法来实现,并比较它们在不同n值下的计算结果。

1. 循环函数实现

n = [100, 1000, 10000];
for i = 1:length(n)
    sum = 0;
    for j = 1:n(i)
        sum = sum + 1/j^2;
    end
    pi_approx = sqrt(6*sum);
    fprintf('When n = %d, pi is approximately %.10f.
', n(i), pi_approx);
end

输出结果为:

When n = 100, pi is approximately 3.1320765318.
When n = 1000, pi is approximately 3.1406380562.
When n = 10000, pi is approximately 3.1414971551.

2. sum函数实现

n = [100, 1000, 10000];
for i = 1:length(n)
    pi_approx = sqrt(6*sum(1./(1:n(i)).^2));
    fprintf('When n = %d, pi is approximately %.10f.
', n(i), pi_approx);
end

输出结果与循环函数实现相同。

从以上代码和结果可以看出,两种方法都能够计算π的近似值,随着n值的增大,计算结果越来越接近π的真实值。sum函数实现代码更简洁,效率更高,因此在实际应用中更推荐使用sum函数来计算π的近似值。


原文地址: https://www.cveoy.top/t/topic/njzT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录