Cody

# Problem 44372. Polarisation

Solution 2122037

Submitted on 8 Feb 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 = 5; y_correct = 0.5; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.500000000000000 l = 0.992403876506104

2   Pass
x = 180; y_correct = 0.5; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.500000000000000 l = 1

3   Pass
x = 365; y_correct = 0.5; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.500000000000000 l = 0.992403876506104

4   Pass
x = [91, 1]; y_correct = 0; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1 y = 0

5   Pass
a = randi([-360, 360]); b = 90*(1+2*randi([-3, 3])); x = [a, a+b]; y_correct = 0; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1 y = 0

6   Pass
a = randi([-360, 360]); b = 90*(1+2*randi([-3, 3])); x = [a, a+b]; y_correct = 0; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1 y = 0

7   Fail
x = [0, 22.5]; y_correct = 0.85355339059/2; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1.853553390593274

Undefined function 'q' for input arguments of type 'double'. Error in polarised (line 9) y=q(numel(x))/numel(x) Error in Test7 (line 3) assert(abs(polarised(x)-y_correct) < 1e-10)

8   Fail
x = [0, -45]; y_correct = 0.25; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1.500000000000000

Undefined function 'q' for input arguments of type 'double'. Error in polarised (line 9) y=q(numel(x))/numel(x) Error in Test8 (line 3) assert(abs(polarised(x)-y_correct) < 1e-10)

9   Fail
x = [5, 140]; y_correct = 0.25; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.250000000000000 l = 1.579227965339569

Undefined function 'q' for input arguments of type 'double'. Error in polarised (line 9) y=q(numel(x))/numel(x) Error in Test9 (line 3) assert(abs(polarised(x)-y_correct) < 1e-10)

10   Fail
x = 5 + (1:5)*22.5; y_correct = 0.53079004294/2; assert(abs(polarised(x)-y_correct) < 1e-10)

y = 0.031250000000000 l = 1.511196012515935

Undefined function 'q' for input arguments of type 'double'. Error in polarised (line 9) y=q(numel(x))/numel(x) Error in Test10 (line 3) assert(abs(polarised(x)-y_correct) < 1e-10)