Problem 413. Back to basics 23 - Triangular matrix
Covering some basic topics I haven't seen elsewhere on Cody.
Given an input matrix, return a matrix with all elements above and to the right of the main diagonal set to zero. Example:
input = [ 1 1 1 1; 1 1 1 1; 1 1 1 1; 1 1 1 1] output = [1 0 0 0; 1 1 0 0; 1 1 1 0; 1 1 1 1]
Solution Stats
Problem Comments
-
3 Comments
Your test suite doesn't really match the problem statement. The tests require matrices with *exactly* all elements abot the main diagonal to be 0 *and* all elements on or below the main diagonal to be 1.
Additional test cases have been added.
Running this on octave returns the correct results yet the page still says I'm wrong.
function y = triangMatrix(x)
for i=1:rows(x);
for j=1:columns(x);
if j>i;
x(i,j)=0;
else
endif
endfor
endfor
disp(x)
endfunction
Solution Comments
Show commentsGroup

Matrix Manipulation I
- 16 Problems
- 98 Finishers
- Remove the air bubbles
- Remove NaN ?
- N-Dimensional Array Slice
- Back to basics 21 - Matrix replicating
- Back to basics 23 - Triangular matrix
- Make an awesome ramp for a tiny motorcycle stuntman
- Flip the main diagonal of a matrix
- surrounded matrix
- Some Assembly Required
- Set some matrix elements to zero
- Matrix with different incremental runs
- Removing rows from a matrix is easy - but what about inserting rows?
- Rotate input square matrix 90 degrees CCW without rot90
- Permute diagonal and antidiagonal
- Operate on matrices of unequal, yet similar, size
- Reverse the elements of an array
Problem Recent Solvers1034
Problem Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!