I have the following polynomial
F(x) = 1^5 + (1^5 + 2^5)+ (1^5 + 2^5 + 3^5) + ... + (1^5 + 2^5 + 3^5 + 4^5 + ... + x^5)
How can I write a loop iteration for this polynomials?

1 个评论

Why do you need a loop?
1^5 + (1^5 + 2^5) + (1^5 + 2^5 + 3^5) + (1^5 + 2^5 + 3^5 + 4^5)
ans = 1610
sum(cumsum((1:4).^5))
ans = 1610

请先登录,再进行评论。

 采纳的回答

KSSV
KSSV 2020-11-20
编辑:KSSV 2020-11-20
x = 10 ;
thesum = 0 ;
for i = 1:x
thesum = thesum+sum((1:i).^5) ;
end

5 个评论

thanks a lot. Well, can we also do this without loop iteration, that's, vectorization?
Yes very much it can be done: See Rik answer.
btw, your code gives wrong result:(
Hey..yes there is a typo error in the code. I have edited it now.

请先登录,再进行评论。

更多回答(1 个)

I would suggest not using a loop:
F=@(x) sum( ( (1:x).^5 ).*(x:-1:1) );

2 个评论

this is with vectorization method?
Yes, and the code posted by Stephen in a comment is also vectorized.
There are probably some exceptions I'm not thinking of, but if you don't see a loop (or cellfun/arrayfun) the code is vectorized.

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by