create a matrix with ones and zeros

in need to create an array of 20-by-20 the first row needs to be 19 ones and 1 zero the first column is all ones the last row is is all ones from the first row first column diagnally to the last row last column needs to be filled with ones, the rest are all zero.
now I can type this all out but there must be a better way
my question is how do i create this array?

 Accepted Answer

Star Strider
Star Strider on 6 Sep 2014
Edited: Star Strider on 6 Sep 2014
This looks like what you want:
a = ones(1,20);
M = diag(a);
M(1,:) = [ones(1,19) 0];
M(:,1) = a';
M(20,:) = a;

3 Comments

Thats awesome!! Im new to this so the help is much needed!! Thank you very much your awesome
My pleasure!
I just realised that I could have used ‘a’ in M(1:) as well:
M(1,:) = [a(1:19) 0];
okay another problem close to the first.
need to create a similar array, but instead add variables.
so for example the last row need to be 19 of variable b and 1 one. how can i do that?

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!