フィルターのクリア

Question about summations from excel (backwards sum)

1 回表示 (過去 30 日間)
Omar
Omar 2014 年 2 月 3 日
回答済み: Azzi Abdelmalek 2014 年 2 月 3 日
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 Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by