【发布时间】:2018-09-09 23:53:28
【问题描述】:
我正在尝试使用 Maclaurin 级数来近似 cos(x)。 x 的值和误差范围需要是用户输入,并且用户需要查看估计值和达到该答案所需的迭代次数。我正在尝试使用 x=2 和 error
function [CosApprox, Numberofterms] = cos_approx(x, E)
k(1)=1;
T=1;
cos_approx(1)=1
while T>=E
k=k+1;
cos_approx(k)= cos_approx(k-1) + ((-1)^(k-1))*(x^(2*(k-1)))/(2*(factorial(k-1)));
T=abs(cos_approx(k) - cos(x));
end
CosApprox=cos_approx(k)
Numberofterms=k
我真的是 matlab 新手,所以如果我遗漏了一些明显的东西,我深表歉意。
【问题讨论】:
-
拜托,不要再调用阶乘了。
-
您的代码不完整。
CosApprox=cos_approx(k)的行是什么?cos_approx()是在外面还是里面?你在这里使用递归吗?你介绍中的数学不清楚。 “示范”是什么意思?比如,你想证明你的假设有多强烈?您是否根据 x 绘制误差函数?在 SO 中,我们只处理编程问题。在提出问题之前,您必须确定您的数学并清楚地了解您需要实施的内容。然后,遵循典型的how to ask 准则。 -
另外,当您提出问题时,请在代码的每个部分中用您打算实现的内容注释您的代码。
标签: matlab while-loop taylor-series