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 个评论

upload the datas instead of pic
The datas are also uploaded along with the pic. Thanks.

请先登录,再进行评论。

 采纳的回答

madhan ravi
madhan ravi 2018-11-24
编辑:madhan ravi 2018-11-24
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 个评论

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 Exchange 中查找有关 Matrix Indexing 的更多信息

产品

版本

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by