Cody

# Problem 44509. Determine if input is a valid AHP evaluation matrix

Solution 2098515

Submitted on 19 Jan 2020
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
x = [1 1 1 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

2   Fail
x = [1 2 1/2 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Assertion failed.

3   Fail
k = randi([2 9]); x = [1 k 1/k 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Assertion failed.

4   Pass
k = randi([2 9]); x = [1 k 1/k k]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

5   Fail
x = [1 5 1/5 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Assertion failed.

6   Pass
x = [1 4 1/4 2]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

7   Fail
x = [1 1 1 1 1 1 1 1 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test7 (line 5) assert(isequal(isValidAHP(x),y_correct))

8   Fail
x = [1 2 3 1/2 1 4 1/3 1/4 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test8 (line 5) assert(isequal(isValidAHP(x),y_correct))

9   Pass
x = [1 2 3 1/2 0 4 1/3 1/4 1]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

10   Pass
x = [1 1 1 1 1 1 1 1 0.5]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

11   Fail
x = [1 1 95 1 1 1 1 1 1]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test11 (line 5) assert(isequal(isValidAHP(x),y_correct))

12   Fail
x = [1 2 2 1/2 1 2 1/2 1/2 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test12 (line 5) assert(isequal(isValidAHP(x),y_correct))

13   Fail
m = randi([2 5]); x = [1 m m 1/m 1 m 1/m 1/m 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test13 (line 6) assert(isequal(isValidAHP(x),y_correct))

14   Fail
x = [1 2 3 4 1/2 1 5 6 1/3 1/5 1 7 1/4 1/6 1/7 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test14 (line 6) assert(isequal(isValidAHP(x),y_correct))

15   Pass
x = [0 2 3 4 1/2 0 5 6 1/3 1/5 0 7 1/4 1/6 1/7 0]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

16   Fail
x = [1 1 1 1 1 1 1 1 1 1 1 1 ]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test16 (line 5) assert(isequal(isValidAHP(x),y_correct))

17   Fail
x = [1 1 1 1 1 1 1 1 1 1 1 1 ]; y_correct = 0; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test17 (line 6) assert(isequal(isValidAHP(x),y_correct))

18   Fail
x = [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test18 (line 7) assert(isequal(isValidAHP(x),y_correct))

19   Fail
x = [1 0.125 0.125 0.111 0.125 0.125; 8 1 1 0.143 0.143 0.2; 8 1 1 0.111 0.111 0.143; 9 7 9 1 5 7; 8 7 9 0.2 1 0.333; 8 5 7 0.143 3 1]; y_correct = 1; assert(isequal(isValidAHP(x),y_correct))

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test19 (line 8) assert(isequal(isValidAHP(x),y_correct))

20   Fail
for idx = 1:20 x = ones(randi([1 20])); y_correct = 1; assert(isequal(isValidAHP(x),y_correct)) end

Matrix dimensions must agree. Error in isValidAHP (line 3) y = norm(diag(x)-ones(size(x,1),1))<1e-10 && norm(t(t~=0) - 1./l(l~=0))<1e-10; Error in Test20 (line 4) assert(isequal(isValidAHP(x),y_correct))

21   Pass
for idx = 1:20 x = zeros(randi([1 20])); y_correct = 0; assert(isequal(isValidAHP(x),y_correct)) end