一个简单matlab 程序 错在哪

来源:百度知道 编辑:UC知道 时间:2024/05/23 19:11:28
function A=PI(n)
n=input('n=');
A=0;
k=1;
while k<=2n-1
k=k+2;
A=A+4*(-1)^k/(2*k-1);
end

错在 2n 应该要写成 2*n

另外,你这个近似是求圆周率的程序吧,虽然你这个程序思路是没错,但matlab程序的要点是尽可能利用向量操作,因此,你的代码可以改为

function A=PI(n)
n=input('n=');
k=1:2*n-1;
A=sum(4*(-1).^k./(2*k-1));
end