[Matlab Grader] How to check if the matrix has upper triangular form?

2 views (last 30 days)
Hi,
I want to build a test that checks if a matrix has an upper triangular form. But somehow it didn't work in Matlab Grader.
I tried to use the matlab function istriu
A = [1.6537 1.1405 1.2570;
0.0000 0.9661 0.6341;
-0.0000 0.0000 0.8816;
-0.0000 -0.0000 -0.0000;
-0.0000 0.0000 0]
isUpper = istriu(A)
but it gives me always zero back, even though the matrix is upper triangular. When I am doing it locally, it gives me the right answer.
Does someone know why is this happening and how can I solve it?

Accepted Answer

James Tursa
James Tursa on 21 Dec 2020
Edited: James Tursa on 21 Dec 2020
This looks like a display issue. The numbers in the lower triangle are not exactly zero, they just display that way out to 4 digits. Take a look at this result:
A == 0
and you will likely see that some of those lower triangular elements are not exactly 0.
  1 Comment
Biljana Gjeroska
Biljana Gjeroska on 21 Dec 2020
Thanks a lot. I was thinking that the numerical deviation is already taken into account. But here I need to build it manually :)

Sign in to comment.

More Answers (0)

Communities

More Answers in the  Distance Learning Community

Community Treasure Hunt

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

Start Hunting!