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.

 채택된 답변

Bhaskar R
Bhaskar R 2019년 12월 6일
function output = iszero(Z)
output = any(diag(Z) == 0);
end

댓글 수: 2

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);

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2019년 12월 6일

댓글:

2019년 12월 6일

Community Treasure Hunt

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

Start Hunting!

Translated by