Filter löschen
Filter löschen

Question about summations from excel (backwards sum)

1 Ansicht (letzte 30 Tage)
Omar
Omar am 3 Feb. 2014
Beantwortet: Azzi Abdelmalek am 3 Feb. 2014
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.

Antworten (3)

Roger Stafford
Roger Stafford am 3 Feb. 2014
Bearbeitet: Roger Stafford am 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 am 3 Feb. 2014
Bearbeitet: Wayne King am 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 Kommentar
Omar
Omar am 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?

Melden Sie sich an, um zu kommentieren.


Azzi Abdelmalek
Azzi Abdelmalek am 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))

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by