Sum using for loop
조회 수: 28 (최근 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!