Two vectors into matrix with an opeartion?

1 view (last 30 days)
Hi everybody,
I'd like to create a matrix from 2 vectors with a subtraction.
a=[0,1,2,3]
b=[6,7,8,9]
The operation is b-a, so the resulting matrix should look like this
6 5 4 3
7 6 5 4
8 7 6 5
9 8 7 6
Additional question: Is it possible to place the results underneath the first row of Vector a
0 1 2 3
6 5 4 3
7 6 5 4
8 7 6 5
9 8 7 6
Thank you for your help in advance
Christian

Accepted Answer

Alan Stevens
Alan Stevens on 24 Aug 2020
Like this:
a = [0 1 2 3];
b = [6; 7; 8; 9]; % Note that b is a column vector and a is a row vector
A = repmat(a,4,1)
A =
0 1 2 3
0 1 2 3
0 1 2 3
0 1 2 3
>> m = b - A
m =
6 5 4 3
7 6 5 4
8 7 6 5
9 8 7 6
>> m = [a; m]
m =
0 1 2 3
6 5 4 3
7 6 5 4
8 7 6 5
9 8 7 6
  2 Comments
madhan ravi
madhan ravi on 24 Aug 2020
using repmat() is not efficient than an implicit expansion
Christian S.
Christian S. on 24 Aug 2020
That was quick, wow! Thank you very much.
Very best
Christian

Sign in to comment.

More Answers (1)

madhan ravi
madhan ravi on 24 Aug 2020
Edited: madhan ravi on 24 Aug 2020
[a; b(:) - a]

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!