Write a function that takes N as the input, and outputs a matrix whose upper-left (NxN) quadrant contains all ones, the lower-right (NxN) quadrant contains all N's, and zeros everywhere else. For example, if N = 3:
Solution Stats
Problem Comments
5 Comments
Solution Comments
Show comments
Loading...
Problem Recent Solvers861
Suggested Problems
-
752 Solvers
-
Calculate the Number of Sign Changes in a Row Vector (No Element Is Zero)
903 Solvers
-
Create sequnce 1 4 9 16 25.........
414 Solvers
-
8432 Solvers
-
Calculate the mean of each half of a matrix
673 Solvers
More from this Author10
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
Good problem!
function M = foursquare(N)
M = zeros(2*N);
for i=1:length(M)/2
for j=1:length(M)/2
M(i,j)=1;
j=j+1;
end
i=i+1;
end
for i=(length(M)/2)+1:length(M)
for j=(length(M)/2)+1:length(M)
M(i,j)=3;
j=j+1;
end
i=i+1;
end
end
Just wrote that program that gives me the right solution but I don't understand why it won't work.Any suggestions?
@Andreea you're hard-coding the value 3 on the twelfth line; the problem description says that the lower-left quadrant should contain N's instead.
good one
N=3
A=ones(3)
B=zeros(3)
C=N*ones(3)
M=([A B;B C])
I'm just starting out self learning and to my understanding this code answers the question since i made N an input but it says i did it wrong. i guess i have to use this 'foursquare' function (only seeing it for the first time now). can someone please explain what the function does?