Info
此问题已关闭。 请重新打开它进行编辑或回答。
How to convert the following program to vector operation (not using for loop)
1 次查看(过去 30 天)
显示 更早的评论
function y= natural_log(x,n)
if (abs(x)>=1)||(n<=0)
disp ('Error')
else if ((abs(x)<1)&&(n>0))
y=x;
q=1;
for a=2:n
q=q*(-1);
y=y+q*((1/a)*(x^a));
end
end
end
0 个评论
回答(1 个)
Roger Stafford
2014-11-18
elseif
y = sum(-(-x).^(1:n)./(1:n);
...
You should be aware that this series sum will approach log(1+x), not log(x). Also be aware that the original for-loop might be faster than the vectorized form for large n.
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!