Calculate summation using loop?

I'm having trouble trying to put this summation: top of ∑ is N bottom of ∑ is j=1 side of ∑ is j^p For p=1,2,3 and N=6 how do i solve this using matlab? Could i have p=1,2,3 all under one script?
clc
j=1;
p=1;
sum=0;
disp('j p j^p')
disp('-----------------')
while (j<=6)
square=j.^p;
sum=sum+square;
fprintf('%d %d %d\n', j,p,square);
j=j+1;

1 件のコメント

per isakson
per isakson 2014 年 10 月 4 日
Why not use a for-loop?

サインインしてコメントする。

 採用された回答

Guillaume
Guillaume 2014 年 10 月 4 日
編集済み: Guillaume 2014 年 10 月 4 日

0 投票

To make it easier for yourself, the first thing you should do is create a function for the summation. It takes two variables (N and p) and returns the result of the summation, like so:
function s = powersum(N, p)
sum = 0;
for j = 1:N
%I'll leave you to fill this in, you've already done that in your script
end
end
You can then use that function in your script for whichever value of N and p you wish:
N = 6;
for p = 1:3
s = powersum(N, p);
%do whatever you want with the result
end
Note that powersum can be implemented more efficiently without a loop but as it looks like you are a beginner in matlab, I'll leave it at that.

3 件のコメント

Eugene
Eugene 2014 年 10 月 4 日
Sorry Guillaume. We are told to use while or for loop only for this question.
Guillaume
Guillaume 2014 年 10 月 4 日
The whole idea of a function is to make code easier to understand, but you can always replace a function call by the content of the function itself. In your case, just replace the
s = powersum(N, p);
in the for p=... loop with the content of the function, that is:
sum = 0;
for j = 1:N
...
end
Eugene
Eugene 2014 年 10 月 4 日
Yes Guillaume. I understand. Thanks for your help!!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

質問済み:

2014 年 10 月 4 日

編集済み:

2014 年 10 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by