Sum using for loop
31 次查看(过去 30 天)
显示 更早的评论
I want to get total sum of two arrays using for loop. I have made the one but it didn't give expected result. Also i want to multiply these array to get final result. And want to arrange sum and product of two array in a table. Appreciate any help on how to that make using for loop.
2 个评论
Image Analyst
2021-8-14
Why do you have a nested for loop for 1-D vectors? All you need is one for loop. Post the code, not an image, after you read this:
回答(2 个)
Awais Saeed
2021-8-14
I highly recommend that you go through the link that @Image Analyst shared. Moreover, for adding elements of two arrays (that's what I understood) you can do the following
x = input('Enter your first array: ');
y = input('Enter your second array: ');
sum_array = zeros(size(x)); % pre-allocation
for col = 1:1:size(x,2)
sum_array(col) = x(col) + y(col);
end
disp(['sum = ',num2str(sum(sum_array))])
For multiplication, use
x.*y % element-wise multiplication
2 个评论
Sulaymon Eshkabilov
2021-8-14
@Awais Saeed. Note that the length of x and y are different and thus, your proposed loop does not work.
Awais Saeed
2021-8-14
@Sulaymon Eshkabilov yes you are right. From the picture I assumed that x and y have same length and I wrote the loop for that paticular case.
Sulaymon Eshkabilov
2021-8-14
编辑:Sulaymon Eshkabilov
2021-8-15
In your code, there is an err inside a loop, and here is the correction;
...
% E.g. X and Y can be a row or column vector of any length
...
sum_X=0;
sum_Y=0;
for ii=1:length(X)
sum_X = sum_X+X(ii);
end
for jj=1:length(Y)
sum_Y = sum_Y+Y(jj);
end
sum_XY = sum_X+sum_Y;
fprintf('Total sum: SUM_XY = %f', sum_XY)
% Most correct way is:
sum_X = sum(X);
sum_Y = sum(Y);
sum_XY=sum_X+sum_Y;
% or even more compact one:
sum_XY = sum(X)+sum(Y);
fprintf('Total sum: SUM_XY = %f', sum_XY)
5 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!