General Binomial Matrix Manipulation

2 views (last 30 days)
Let's say I have a matrix of the form:
Starting from this matrix, I would like to calculate a new matrix, in a time efficient way:
The algorithm, which I am looking for, should also work for a matrix of the form:
Does someone know how this algorithm could look like?
Best
Alex
  2 Comments
Akira Agata
Akira Agata on 3 Sep 2019
Assuming Astart is n-by-2 array, straight-forward way to calculate Aend would be:
Aend = [Astart(:,1).^2 Astart(:,1).*Astart(:,2) Astart(:,2).*Astart(:,1) Astart(:,2).^2];
But it's not clear for me what Aend looks like when Astart is n-by-m array.
Could you explain more detail on this?
Alexander Pakakis
Alexander Pakakis on 3 Sep 2019
of course, I can explain more!
Let's say I have:
then I would like to calculate this matrix:
I think, you will understand the system when see this table:
Example.JPG

Sign in to comment.

Accepted Answer

Matt J
Matt J on 3 Sep 2019
Edited: Matt J on 3 Sep 2019
[m,n]=size(Astart);
B=reshape(Astart,m,1,n).*Astart;
Aend=reshape(B,m,[]);

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 3 Sep 2019
Edited: Andrei Bobrov on 3 Sep 2019
Aend = reshape(Abegin.*permute(Abegin,[1,3,2]),size(Abegin,1),[]);

Categories

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

Products


Release

R2018b

Community Treasure Hunt

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

Start Hunting!