Cody

# Problem 44345. MATLAB Counter

Solution 1312529

Submitted on 24 Oct 2017 by Atnas
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
assessFunctionAbsence({'regexp','regexpi','regexprep','str2num'},'FileName','counter.m')

2   Pass
f = counter(0,1); assert(isequal(f(),0)) assert(isequal(f(),1)) assert(isequal(2,f())) assert(isequal(3,f()))

ans = function_handle with value: @counter/c ans = 0 ans = 1 ans = 2 ans = 3

3   Pass
f = counter(1,0); assert(isequal(f(),1)) assert(isequal(f(),1)) assert(isequal(1,f())) assert(isequal(1,f()))

ans = function_handle with value: @counter/c ans = 1 ans = 1 ans = 1 ans = 1

4   Pass
f = counter(10,2); assert(isequal(f(),10)) assert(isequal(f(),12)) assert(isequal(14,f())) assert(isequal(16,f()))

ans = function_handle with value: @counter/c ans = 10 ans = 12 ans = 14 ans = 16

5   Pass
f = counter(0,5); y_correct = [0, 5, 10, 15, 20, 55]; assert(isequal([f() f() f() f() f() f()+f()],y_correct))

ans = function_handle with value: @counter/c ans = 0 ans = 5 ans = 10 ans = 15 ans = 20 ans = 25 ans = 30

6   Pass
x0 = randi(10); b = randi(10); f = counter(x0,b); y_correct = x0 + (0:1000)*b; assert(isequal(arrayfun(@(n)f(),0:1000),y_correct))

ans = function_handle with value: @counter/c ans = 5 ans = 15 ans = 25 ans = 35 ans = 45 ans = 55 ans = 65 ans = 75 ans = 85 ans = 95 ans = 105 ans = 115 ans = 125 ans = 135 ans = 145 ans = 155 ans = 165 ans = 175 ans = 185 ans = 195 ans = 205 ans = 215 ans = 225 ans = 235 ans = 245 ans = 255 ans = 265 ans = 275 ans = 285 ans = 295 ans = 305 ans = 315 ans = 325 ans = 335 ans = 345 ans = 355 ans = 365 ans = 375 ans = 385 ans = 395 ans = 405 ans = 415 ans = 425 ans = 435 ans = 445 ans = 455 ans = 465 ans = 475 ans = 485 ans = 495 ans = 505 ans = 515 ans = 525 ans = 535 ans = 545 ans = 555 ans = 565 ans = 575 ans = 585 ans = 595 ans = 605 ans = 615 ans = 625 ans = 635 ans = 645 ans = 655 ans = 665 ans = 675 ans = 685 ans = 695 ans = 705 ans = 715 ans = 725 ans = 735 ans = 745 ans = 755 ans = 765 ans = 775 ans = 785 ans = 795 ans = 805 ans = 815 ans = 825 ans = 835 ans = 845 ans = 855 ans = 865 ans = 875 ans = 885 ans = 895 ans = 905 ans = 915 ans = 925 ans = 935 ans = 945 ans = 955 ans = 965 ans = 975 ans = 985 ans = 995 ans = 1005 ans = 1015 ans = 1025 ans = 1035 ans = 1045 ans = 1055 ans = 1065 ans = 1075 ans = 1085 ans = 1095 ans = 1105 ans = 1115 ans = 1125 ans = 1135 ans = 1145 ans = 1155 ans = 1165 ans = 1175 ans = 1185 ans = 1195 ans = 1205 ans = 1215 ans = 1225 ans = 1235 ans = 1245 ans = 1255 ans = 1265 ans = 1275 ans = 1285 ans = 1295 ans = 1305 ans = 1315 ans = 1325 ans = 1335 ans = 1345 ans = 1355 ans = 1365 ans = 1375 ans = 1385 ans = 1395 ans = 1405 ans = 1415 ans = 1425 ans = 1435 ans = 1445 ans = 1455 ans = 1465 ans = 1475 ans = 1485 ans = 1495 ans = 1505 ans = 1515 ans = 1525 ans = 1535 ans = 1545 ans = 1555 ans = 1565 ans = 1575 ans = 1585 ans = 1595 ans = 1605 ans = 1615 ans = 1625 ans = 1635 ans = 1645 ans = 1655 ans = 1665 ans = 1675 ans = 1685 ans = 1695 ans = 1705 ans = 1715 ans = 1725 ans = 1735 ans = 1745 ans = 1755 ans = 1765 ans = 1775 ans = 1785 ans = 1795 ans = 1805 ans = 1815 ans = 1825 ans = 1835 ans = 1845 ans = 1855 ans = 1865 ans = 1875 ans = 1885 ans = 1895 ans = 1905 ans = 1915 ans = 1925 ans = 1935 ans = 1945 ans = 1955 ans = 1965 ans = 1975 ans = 1985 ans = 1995 ans = 2005 ans = 2015 ans = 2025 ans = 2035 ans = 2045 ans = 2055 ans = 2065 ans = 2075 ans = 2085 ans = 2095 ans = 2105 ans = 2115 ans = 2125 ans = 2135 ans = 2145 ans = 2155 ans = 2165 ans = 2175 ans = 2185 ans = 2195 ans = 2205 ans = 2215 ans = 2225 ans = 2235 ans = 2245 ans = 2255 ans = 2265 ans = 2275 ans = 2285 ans = 2295 ans = 2305 ans = 2315 ans = 2325 ans = 2335 ans = 2345 ans = 2355 ans = 2365 ans = 2375 ans = 2385 ans = 2395 ans = 2405 ans = 2415 ans = 2425 ans = 2435 ans = 2445 ans = 2455 ans = 2465 ans = 2475 ans = 2485 ans = 2495 ans = 2505 ans = 2515 ans = 2525 ans = 2535 ans = 2545 ans = 2555 ans = 2565 ans = 2575 ans = 2585 ans = 2595 ans = 2605 ans = 2615 ans = 2625 ans = 2635 ans = 2645 ans = 2655 ans = 2665 ans = 2675 ans = 2685 ans = 2695 ans = 2705 ans = 2715 ans = 2725 ans = 2735 ans = 2745 ans = 2755 ans = 2765 ans = 2775 ans = 2785 ans = 2795 ans = 2805 ans = 2815 ans = 2825 ans = 2835 ans = 2845 ans = 2855 ans = 2865 ans = 2875 ans = 2885 ans = 2895 ans = 2905 ans = 2915 ans = 2925 ans = 2935 ans = 2945 ans = 2955 ans = 2965 ans = 2975 ans = 2985 ans = 2995 ans = 3005 ans = 3015 ans = 3025 ans = 3035 ans = 3045 ans = 3055 ans = 3065 ans = 3075 ans = 3085 ans = 3095 ans = 3105 ans = 3115 ans = 3125 ans = 3135 ans = 3145 ans = 3155 ans = 3165 ans = 3175 ans = 3185 ans = 3195 ans = 3205 ans = 3215 ans = 3225 ans = 3235 ans = 3245 ans = 3255 ans = 3265 ans = 3275 ans = 3285 ans = 3295 ans = 3305 ans = 3315 ans = 3325 ans = 3335 ans = 3345 ans = 3355 ans = 3365 ans = 3375 ans = 3385 ans = 3395 ans = 3405 ans = 3415 ans = 3425 ans = 3435 ans = 3445 ans = 3455 ans = 3465 ans = 3475 ans = 3485 ans = 3495 ans = 3505 ans = 3515 ans = 3525 ans = 3535 ans = 3545 ans = 3555 ans = 3565 ans = 3575 ans = 3585 ans = 3595 ans = 3605 ans = 3615 ans = 3625 ans = 3635 ans = 3645 ans = 3655 ans = 3665 ans = 3675 ans = 3685 ans = 3695 ans = 3705 ans = 3715 ans = 3725 ans = 3735 ans = 3745 ans = 3755 ans = 3765 ans = 3775 ans = 3785 ans = 3795 ans = 3805 ans = 3815 ans = 3825 ans = 3835 ans = 3845 ans = 3855 ans = 3865 ans = 3875 ans = 3885 ans = 3895 ans = 3905 ans = 3915 ans = 3925 ans = 3935 ans = 3945 ans = 3955 ans = 3965 ans = 3975 ans = 3985 ans = 3995 ans = 4005 ans = 4015 ans = 4025 ans = 4035 ans = 4045 ans = 4055 ans = 4065 ans = 4075 ans = 4085 ans = 4095 ans = 4105 ans = 4115 ans = 4125 ans = 4135 ans = 4145 ans = 4155 ans = 4165 ans = 4175 ans = 4185 ans = 4195 ans = 4205 ans = 4215 ans = 4225 ans = 4235 ans = 4245 ans = 4255 ans = 4265 ans = 4275 ans = 4285 ans = 4295 ans = 4305 ans = 4315 ans = 4325 ans = 4335 ans = 4345 ans = 4355 ans = 4365 ans = 4375 ans = 4385 ans = 4395 ans = 4405 ans = 4415 ans = 4425 ans = 4435 ans = 4445 ans = 4455 ans = 4465 ans = 4475 ans = 4485 ans = 4495 ans = 4505 ans = 4515 ans = 4525 ans = 4535 ans = 4545 ans = 4555 ans = 4565 ans = 4575 ans = 4585 ans = 4595 ans = 4605 ans = 4615 ans = 4625 ans = 4635 ans = 4645 ans = 4655 ans = 4665 ans = 4675 ans = 4685 ans = 4695 ans = 4705 ans = 4715 ans = 4725 ans = 4735 ans = 4745 ans = 4755 ans = 4765 ans = 4775 ans = 4785 ans = ...