Clear Filters
Clear Filters

Question about summations from excel (backwards sum)

1 view (last 30 days)
Hello, I have an imported excel file. Say I have 2, 1x20 Matrix (set as A and B respectively). How can I make an upside down sum between my matrices? Instead of going from i=0 to i=20 , I want to go from i=20 to i=0. An easy fix could be re-arranging the excel files but I wanna know if theres a way around with matlab.

Answers (3)

Roger Stafford
Roger Stafford on 3 Feb 2014
Edited: Roger Stafford on 3 Feb 2014
s = sum(fliplr(A)+fliplr(B));
Note: Whatever order 'sum' would have taken with A+B will be reversed.

Wayne King
Wayne King on 3 Feb 2014
Edited: Wayne King on 3 Feb 2014
There are a couple issues here. A sum that goes from 0 to 20 has 21 elements not 20 as you indicate. Further, summation is commutative so why does it matter what order you sum in?
A = randn(2,20);
sum(A,2)
B = fliplr(A); % reverse the elements in the rows of A
sum(B,2)
What have I misunderstood?
fliplr() reverse the rows of A (reverses each row of A)
  1 Comment
Omar
Omar on 3 Feb 2014
Small mistake on my part for the 20 terms. Im aware that its commutative but my true task is to find the summation of the average of the lowest 2 terms of my matrix * the sum of the upper 2 terms of my other matrix and so on.
F=fliplr(A);
S=sum(((F(1:20)+F(2:20))/2).*(B(1:20)+B(2:20)))
Will this do?

Sign in to comment.


Azzi Abdelmalek
Azzi Abdelmalek on 3 Feb 2014
Your question is not clear, maybe you want
A=[ 1 2 3 4]
B=[10 20 30 40]
out=cumsum(fliplr(A+B))

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!