Help Creating the following matrix
2 views (last 30 days)
Show older comments
Carlos Martinez
on 19 Feb 2020
Commented: Carlos Martinez
on 19 Feb 2020
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
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.
Accepted Answer
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)
See Also
Categories
Find more on Get Started with MATLAB in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!