4x4 matrix with numbers from 1 to 4 in specific order

Hi,
I want to create the following matrix:
M = 1 2 3 4
0 0 0 3
0 0 0 2
0 0 0 1
I'm only supposed to use the vector r = 1:4 and no other functions. This is what I got so far:
M=r
M(1:4, 4)=r
But this results in
M = 1 2 3 1
0 0 0 2
0 0 0 3
0 0 0 4
So now I'm stuck. Does anybody know how to "reverse" the last column so that it reads 4 3 2 1 instead of 1 2 3 4?
All help is greatly appeciated!
Cheers,
Dobs

 Accepted Answer

You need to put r in in reverse order, so assuming you're not allowed to use flipud(r), try:
r = 1:4
M(1:4, 4)= r(end : -1 : 1);
Then you need to set row 1:
M(1, ......................

More Answers (1)

John D'Errico
John D'Errico on 23 Oct 2021
Edited: John D'Errico on 23 Oct 2021
Hint: What does flip do? Could you use it to "flip" the order of those numbers?

1 Comment

I think we're not allowed to use it since we're only supposed to use the vector r and no other functions. But I just tried it and it works too! Will keep this in mind for the next time I need to reverse the numbers in a vector. Thank you so much for your help!

Sign in to comment.

Products

Release

R2021b

Asked:

on 23 Oct 2021

Commented:

on 23 Oct 2021

Community Treasure Hunt

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

Start Hunting!