Beginner needs help with basic function

5 visualizzazioni (ultimi 30 giorni)
The Assignment:
. Write a function called even_index that takes a matrix, M, as input argument and returns a matrix that contains only those elements of M that are in even rows and columns. In other words, it would return the elements of M at indices (2,2), (2,4), (2,6), ..., (4,2), (4,4), (4,6), ..., etc. Note that both the row and the column of an element must be even to be included in the output. The following would not be returned: (1,1), (2,1), (1,2) because either the row or the column or both are odd. As an example, if M were a 5-by-8 matrix, then the output must be 2-by-4 because the function omits rows 1, 3 and 5 of M and it also omits columns 1, 3, 5, and 7 of M.
My Function:
function even_index(M)
M(2:2:end,2:2:end)
The Problem?
If I go to command window and do M = [1 2 3;4 5 6] and create a matrix, and then run "even_index(M)" I get the correct answer (5). However, when i use the required "grader " program, It says
Problem 2 (even_index):
Testing with argument(s) [1 2 3;4 5 6]
Feedback: Your program made an error for argument(s) [1 2 3;4 5 6]
Your solution is _not_ correct
What am I missing?
  2 Commenti
Sarah Heady
Sarah Heady il 22 Feb 2017
Hey Charlie did you ever figure this out? I have this code: function M_out = even_index(M) M_out = M(2:2:end, 2:2:end); end -- but it always gives me this error: Not enough input arguments. --What did you do to fix this error?
Sarah Heady
Sarah Heady il 22 Feb 2017
Never mind. I was running the wrong thing.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 19 Ago 2016
Your function does not return anything, it displays the results instead. Functions that return something have an "=" on the function line.

Più risposte (0)

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by