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 件のコメント

Cris LaPierre
Cris LaPierre 2023 年 1 月 10 日
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

サインインしてコメントする。

 採用された回答

Matt J
Matt J 2023 年 1 月 10 日

1 投票

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 件のコメント

Lewis HC
Lewis HC 2023 年 1 月 10 日
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!

サインインしてコメントする。

その他の回答 (1 件)

Cameron
Cameron 2023 年 1 月 10 日

1 投票

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 件のコメント

Lewis HC
Lewis HC 2023 年 1 月 10 日
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!

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2023 年 1 月 10 日

コメント済み:

2023 年 1 月 10 日

Community Treasure Hunt

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

Start Hunting!

Translated by