nxm matrix function with zeros and ones
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1258795/image.png)
function y=square(n,m)
A=ones(n,m);
A(1:2:n)=0;
y=[A]
end
Thank you!
1 Commento
Cris LaPierre
il 10 Gen 2023
Adding this comment to show the output of the function you have written.
y=square(3,4)
function y=square(n,m)
A=ones(n,m);
A(1:2:n)=0;
y=[A];
end
Risposta accettata
Più risposte (1)
Cameron
il 10 Gen 2023
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
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!