Summation by using loops and cells

K=9;
L Range of M (for each L)
0.5 2 6 8 10 12 14 16
1 2 6 8
1.5 2 6 8 10 12
2 2 6 8 10
2.5 2 6 8 10
3 2 6 8 10 12 14 16
I have a constant parameter say K. Now for different range of L (0.5:0.5:3), I have different values of M, as seen in the table.
I need to carry a summation operation using 'for loops' such that:
sum=(K*0.5*2)+(K*0.5*6)+(K*0.5*8)+.................+ (second line)......+ (sixth line)+ (K*3*16)
[Note: In '(K*0.5*2)' , 0.5 is the first element of L, and 2 is the first value of M for that particular L ]

2 件のコメント

madhan ravi
madhan ravi 2018 年 11 月 24 日
upload the datas instead of pic
Jeet kUN
Jeet kUN 2018 年 11 月 24 日
The datas are also uploaded along with the pic. Thanks.

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

 採用された回答

madhan ravi
madhan ravi 2018 年 11 月 24 日
編集済み: madhan ravi 2018 年 11 月 24 日

0 投票

Looks nasty although there are efficient solutions which avoids loop:
K=9;
L =0.5:0.5:3;
M{1}=[2 6 8 10 12 14 16];
M{2}=[2 6 8];
M{3}=[2 6 8 10 12];
M{4}=[2 6 8 10];
M{5}=[2 6 8 10];
M{6}=[2 6 8 10 12 14 16];
n=numel(L);
sums=cell(1,n);
for i = 1:n
sums{i}=sum(K.*L(i).*[M{i}]);
end
celldisp(sums) %each cell corresponds to each L and it's M ranges
command window:
>> COMMUNITY
sums{1} =
306
sums{2} =
144
sums{3} =
513
sums{4} =
468
sums{5} =
585
sums{6} =
1836
>>

1 件のコメント

Jeet kUN
Jeet kUN 2018 年 11 月 24 日
Hi, apology for the last image attached which didnot showed the various values of M (for a particular L). I need to use 'for loop' here. The updated image is attached.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

リリース

R2017a

質問済み:

2018 年 11 月 24 日

編集済み:

2018 年 11 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by