nxm matrix function with zeros and ones

Greetings everyone, I need to write a function called square that takes as input arguments two positive integer scalars n and m in that order, the function must create and return y, which is the matrix nxm of the figure with alternating zeros and ones, my code is next:
function y=square(n,m)
A=ones(n,m);
A(1:2:n)=0;
y=[A]
end
Thank you!

1 Kommentar

Adding this comment to show the output of the function you have written.
y=square(3,4)
y = 3×4
0 1 1 1 1 1 1 1 0 1 1 1
function y=square(n,m)
A=ones(n,m);
A(1:2:n)=0;
y=[A];
end

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 10 Jan. 2023
Hint:
x=[1 0 1 0 1];
y=[ 0 1 0 1 0 1];
abs(x-y')
ans = 6×5
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

1 Kommentar

Lewis HC
Lewis HC am 10 Jan. 2023
Thank you very much dear friend, you helped me a lot in my learning of Matlab, I hope to know as much as you do in the future, thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Cameron
Cameron am 10 Jan. 2023

1 Stimme

You probably want to name it something other than "square" which is already a MATLAB function. You're off to a good start though. I find it most useful to think of these problems in basic terms. For instance - what do I want to do here, and how would I tell someone in very basic terms to do this? I would think of looping through the columns of your array and doing a similar thing that you have done. However, you need to start your zeros at a different point for each column. You can use an if statement to achieve that.
n = 20;
m = 7;
A = ones(n,m); %initialize your array
for ColumnNumber = 1:m %loop through your columns
if rem(ColumnNumber,2) == 0 %check your remainder when you divide by 2. is it even or odd?
StartPt = 1;
else %if you do have a remainder, do this
StartPt = 2;
end
A(StartPt:2:n,ColumnNumber)=0;
end

1 Kommentar

Lewis HC
Lewis HC am 10 Jan. 2023
You are correct dear friend, I tell you that that was the problem in my code, I changed the name of the function and I had a correct answer, thank you very much for your help!

Melden Sie sich an, um zu kommentieren.

Kategorien

Gefragt:

am 10 Jan. 2023

Kommentiert:

am 10 Jan. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by