Question about summations from excel (backwards sum)

1 次查看(过去 30 天)
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.

回答(3 个)

Roger Stafford
Roger Stafford 2014-2-3
编辑:Roger Stafford 2014-2-3
s = sum(fliplr(A)+fliplr(B));
Note: Whatever order 'sum' would have taken with A+B will be reversed.

Wayne King
Wayne King 2014-2-3
编辑:Wayne King 2014-2-3
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 个评论
Omar
Omar 2014-2-3
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?

请先登录,再进行评论。


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

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by