Use generic matrix an input into a function in MATLAB

Hi All,
I am trying to write a function that can take any matrix (lets call it x for agruments sake) as input and output a TRUE/FALSE statement.
The context is to check if any of the diagonals in the matrix is a "0" value.
I have tried to do the following:
function DIAG = iszero("insert generic square matrix" ie. x)
DIAG = any(diag(x))
end
The aim is to go to my command window and write:
iszero("insert any matrix from workspace")
For example, if I load a matrix 30x30 called Z1, I want to write:
iszero(Z1) and then give me a logical output.
At the moment with the below is giving me an error.
function DIAG = iszero(x)
DIAG = any(diag(x))
end
"Not enough input arguments.
Error in ppr (line 2)
E = any(diag(x))"
Any assistance is much appreciated.

 Réponse acceptée

function output = iszero(Z)
output = any(diag(Z) == 0);
end

2 commentaires

Thanks, this worked in a way opposite to what I wanted by made it work to give a TRUE output if there are no-zero's.
Cheers
output = ~any(diag(Z) == 0);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by