Help Creating the following matrix

2 views (last 30 days)
Create a matrix using functions zeros(), ones() and/or eye()
3 0 2 2
0 3 2 2
0 0 3 0
  1 Comment
Adam Danz
Adam Danz on 19 Feb 2020
What's your question? Where are you stuck in this task?
To learn about the functions you listed and to see examples, search for them in the documentation.

Sign in to comment.

Accepted Answer

John D'Errico
John D'Errico on 19 Feb 2020
Edited: John D'Errico on 19 Feb 2020
Very easy, really.
A = zeros(3,4);
A(1,1) = 3*eye;
A(1,3) = 2*ones;
A(1,4) = 2*ones;
A(2,2) = 3*eye;
A(2,3) = 2*ones;
A(2,4) = 2*eye;
A(3,3) = 3*ones;
A =
3 0 2 2
0 3 2 2
0 0 3 0
Oh, darn. This is actually your homework, and I just did it for you. (Did you notice I use eye there sometimes, and ones other times, but for absolutely no good reason for that choice?)
Anyways ... maybe, just maybe, there is a shorter way to solve it.
I got it now! This should work, in only one line:
A = [3 0 2 2;0 3 2 2;0 0 3 0]*ones + zeros;
As you can see, it uses both ones and zeros. I could even have included a use of eye in there too.
A = eye(3)*[3 0 2 2;0 3 2 2;0 0 3 0]*ones + zeros;

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!