Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Solution 393666

Submitted on 29 Jan 2014 by Selvaraaju Murugesan

Correct

14Size
Leading solution size is 14.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
a=[1 0 0 ;0 1 0;0 0 1]
tf = 1;
assert(isequal(ortho_normal(a),tf))
a =
     1     0     0
     0     1     0
     0     0     1
2
Pass
 
%%
a=[0 0 1 0;0 1 0 0;1 0 0 0;0 0 0 1]
tf = 1;
assert(isequal(ortho_normal(a),tf))
a =
     0     0     1     0
     0     1     0     0
     1     0     0     0
     0     0     0     1
3
Pass
 
%%
a=eye(20)
k=a;
p=a;
a(:,1)=k(:,end);
a(:,end)=k(:,1);
a(:,5)=p(:,9);
a(:,9)=p(:,5)
tf = 1;
assert(isequal(ortho_normal(a),tf))
a =
  Columns 1 through 16
     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  Columns 17 through 20
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     1
a =
  Columns 1 through 16
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0
     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     1     0     0     0     0     0     0     0     0
     0     0     0     0     1     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     1
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
     1     0     0     0     0     0     0     0     0     0     0     0     0     0     0     0
  Columns 17 through 20
     0     0     0     1
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     0     0     0     0
     1     0     0     0
     0     1     0     0
     0     0     1     0
     0     0     0     0
4
Pass
 
%%
a=[1 0 1 0;0 1 0 0;1 0 0 0;0 0 0 1]
tf = 0;
assert(isequal(ortho_normal(a),tf))
a =
     1     0     1     0
     0     1     0     0
     1     0     0     0
     0     0     0     1
5
Pass
 
%%
a=[0 0 2 0;0 1 0 0;1 0 -1 0;0 0 0 1]
tf = 0;
assert(isequal(ortho_normal(a),tf))
a =
     0     0     2     0
     0     1     0     0
     1     0    -1     0
     0     0     0     1
6
Pass
 
%%
a=[1 2 3 ;1 1 5;3 0 1]
tf = 0;
assert(isequal(ortho_normal(a),tf))
a =
     1     2     3
     1     1     5
     3     0     1
7
Pass
 
%%
a =[1 0 0 ;0 0 0; 0 0 0]
tf = 0;
assert(isequal(ortho_normal(a),tf))
a =
     1     0     0
     0     0     0
     0     0     0
[Warning: Matrix is singular to working precision.]
[> In ortho_normal at 2
  In verifyCode>evaluateCode at 231
  In verifyCode at 40
  In fevalJSON at 14]