以下函数返回mu的值,该值始终等于“result”而不是除法的结果。为什么我错过了分工才能正常工作?
for k = 0:10
result = func1(.95,k);
plusone = func1(.95,(k+1));
fprintf('plusone = %f result = %f\n', plusone, result);
mu = double(plusone)/double(result);
fprintf('mu = %f\n', mu);
end
如果有帮助,func的代码是:
function result = func1(c, k)
exp = 2^k;
result = c^exp;
答案 0 :(得分:5)
没有错误。 mu
应始终等于result
,因为
plusone = c^(2^(k+1))
= c^(2*(2^k))
= (c^(2^k))^2
= result^2
result^2/result = result