Cody

Problem 42635. Maximum of each diagonal

Solution 1995323

Submitted on 29 Oct 2019
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
assert(isempty(maxdiag([])))

y = []

2   Pass
x = randi(100); assert(isequal(maxdiag(x),x))

y = 46

3   Fail
x = randi(100,100,1); assert(isequal(maxdiag(x),x(end:-1:1)'))

y = Columns 1 through 30 78 23 19 50 58 25 78 44 30 47 48 2 77 92 83 81 14 41 100 14 82 64 24 17 73 48 72 28 61 95 Columns 31 through 60 83 91 58 88 50 94 63 56 41 60 43 68 70 40 30 85 67 86 98 87 6 31 45 45 46 96 4 37 4 47 Columns 61 through 90 100 60 91 81 77 9 53 32 82 85 28 39 20 42 89 19 5 69 88 27 60 45 10 80 29 77 31 59 11 97 Columns 91 through 120 67 60 10 57 51 28 15 85 48 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 121 through 150 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 151 through 180 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 181 through 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 23 19 50 58 25 78 44 30 47 48 Columns 211 through 240 2 77 92 83 81 14 41 100 14 82 64 24 17 73 48 72 28 61 95 83 91 58 88 50 94 63 56 41 60 43 Columns 241 through 270 68 70 40 30 85 67 86 98 87 6 31 45 45 46 96 4 37 4 47 100 60 91 81 77 9 53 32 82 85 28 Columns 271 through 300 39 20 42 89 19 5 69 88 27 60 45 10 80 29 77 31 59 11 97 67 60 10 57 51 28 15 85 48 23 0 Columns 301 through 330 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 331 through 360 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 361 through 390 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 391 through 420 0 0 0 0 0 0 0 78 23 19 50 58 25 78 44 30 47 48 2 77 92 83 81 14 41 100 14 82 64 24 Columns 421 through 450 17 73 48 72 28 61 95 83 91 58 88 50 94 63 56 41 60 43 68 70 40 30 85 67 86 98 87 6 31 45 Columns 451 through 480 45 46 96 4 37 4 47 100 60 91 81 77 9 53 32 82 85 28 39 20 42 89 19 5 69 88 27 60 45 10 Columns 481 through 510 80 29 77 31 59 11 97 67 60 10 57 51 28 15 85 48 23 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 511 through 540 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 541 through 570 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 571 through 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 23 19 50 58 25 Columns 601 through 630 78 44 30 47 48 2 77 92 83 81 14 41 100 14 82 64 24 17 73 48 72 28 61 95 83 91 58 88 50 94 Columns 631 through 660 63 56 41 60 43 68 70 40 30 85 67 86 98 87 6 31 45 45 46 96 4 37 4 47 100 60 91 81 77 9 Columns 661 through 690 53 32 82 85 28 39 20 42 89 19 5 69 88 27 60 45 10 80 29 77 31 59 11 97 67 60 10 57 51 28 Columns 691 through 720 15 85 48 23 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 721 through 750 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 751 through 780 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 781 through 810 0 0 0 0 0 0 0 0 0 0 78 23 19 50 58 25 78 44 30 47 48 2 77 92 83 81 14 41 100 14 Columns 811 through 840 82 64 24 17 73 48 72 28 61 95 83 91 58 88 50 94 63 56 41 60 43 68 70 40 30 85 67 86 98 87 Columns 841 through 870 6 31 45 45 46 96 4 37 4 47 100 60 91 81 77 9 53 32 82 85 28 39 20 42 89 19 5 69 88 27 Columns 871 through 900 60 45 10 80 29 77 31 59 11 97 67 60 10 57 51 28 15 85 48 23 0 0 0 0 0 0 0 0 0 0 Columns 901 through 930 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 931 through 960 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 961 through 990 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 78 23 19 50 58 Columns 991 through 1020 25 78 44 30 47 48 2 77 92 83 81 14 41 100 14 82 64 24 17 73 48 72 28 61 95 83 91 58 88 50 Columns 1021 through 1050 94 63 56 41 60 43 68 70 40 30 85 67 86 98 87 6 31 45 45 46 96 4 37 4 47 100 60 91 81 77 Columns 1051 through 1080 9 53 32 82 85 28 39 20 42 89 19 5 69 88 27 60 45 10 80 29 77 31 59 11 97 67 60 10 57 51 Columns 1081 through 1110 28 15 85 48 23 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 1111 through 1140 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 1141 through 1170 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 1171 through 1200 0 0 0 0 0 0 0 0 0 78 23 19 50 58 25 78 44 30 47 48 2 77 92 83 81 14 41 100 14 82 Columns 1201 through 1230 64 24 17 73 48 72 28 61 95 83 91 58 88 50 94 63 56 41 60 43 68 70 40 30 85 67 86 98 87 6 Columns 1231 through 1260 31 45 45 46 96 4 37 4 47 100 60 91 81 77 9 53 32 82 85 28 39 20 42 89 19 5 69 88 27 60 Columns 1261 through 1290 45 10 80 29 77 31 59 11 97 67 60 10 57 51 28 15 85 48 23 0 0 0 0 0 0 0 0 0 0 0 Columns 1291 through 1320 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 1321 through 1350 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 1351 through 1380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 23 19 50 58 25 78 44 Columns 1381 through 1410 30 47 48 2 77 92 83 81 14 41 100 14 82 64 24 17 73 48 72 28 61 95 83 91 58 88 50 94 63 56 Columns 1411 through 1440 41 60 43 68 70 40 30 85 67 86 98 87 6 31 45 45 46 96 4 37 ...

Assertion failed.

4   Fail
x = randi(100,1,100); assert(isequal(maxdiag(x),x))

y = Columns 1 through 30 18 56 13 99 16 55 70 7 36 25 63 98 76 75 70 52 60 54 74 75 90 8 18 35 92 33 57 88 61 40 Columns 31 through 60 36 69 5 83 19 27 85 42 90 71 49 52 67 3 16 38 39 40 62 75 56 89 69 91 71 14 85 62 45 69 Columns 61 through 90 2 47 75 13 76 46 41 97 99 86 61 18 45 21 36 85 39 34 13 30 38 99 71 14 83 11 4 72 36 37 Columns 91 through 120 100 77 51 70 88 79 94 59 77 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 121 through 150 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 151 through 180 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 181 through 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 56 13 99 16 55 70 7 36 25 63 Columns 211 through 240 98 76 75 70 52 60 54 74 75 90 8 18 35 92 33 57 88 61 40 36 69 5 83 19 27 85 42 90 71 49 Columns 241 through 270 52 67 3 16 38 39 40 62 75 56 89 69 91 71 14 85 62 45 69 2 47 75 13 76 46 41 97 99 86 61 Columns 271 through 300 18 45 21 36 85 39 34 13 30 38 99 71 14 83 11 4 72 36 37 100 77 51 70 88 79 94 59 77 23 0 Columns 301 through 330 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 331 through 360 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 361 through 390 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 391 through 420 0 0 0 0 0 0 0 18 56 13 99 16 55 70 7 36 25 63 98 76 75 70 52 60 54 74 75 90 8 18 Columns 421 through 450 35 92 33 57 88 61 40 36 69 5 83 19 27 85 42 90 71 49 52 67 3 16 38 39 40 62 75 56 89 69 Columns 451 through 480 91 71 14 85 62 45 69 2 47 75 13 76 46 41 97 99 86 61 18 45 21 36 85 39 34 13 30 38 99 71 Columns 481 through 510 14 83 11 4 72 36 37 100 77 51 70 88 79 94 59 77 23 0 0 0 0 0 0 0 0 0 0 0 0 0 Columns 511 through 540 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 541 through 570 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 571 through 600 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 56 13 99 16 55 Columns 601 through 630 70 7 36 25 63 98 76 75 70 52 60 54 74 75 90 8 18 35 92 33 57 88 61 40 36 69 5 83 19 27 Columns 631 through 660 85 42 90 71 49 52 67 3 16 38 39 40 62 75 56 89 69 91 71 14 85 62 45 69 2 47 75 13 76 46 Columns 661 through 690 41 97 99 86 61 18 45 21 36 85 39 34 13 30 38 99 71 14 83 11 4 72 36 37 100 77 51 70 88 79 Columns 691 through 720 94 59 77 23 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 721 through 750 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 751 through 780 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 781 through 810 0 0 0 0 0 0 0 0 0 0 18 56 13 99 16 55 70 7 36 25 63 98 76 75 70 52 60 54 74 75 Columns 811 through 840 90 8 18 35 92 33 57 88 61 40 36 69 5 83 19 27 85 42 90 71 49 52 67 3 16 38 39 40 62 75 Columns 841 through 870 56 89 69 91 71 14 85 62 45 69 2 47 75 13 76 46 41 97 99 86 61 18 45 21 36 85 39 34 13 30 Columns 871 through 900 38 99 71 14 83 11 4 72 36 37 100 77 51 70 88 79 94 59 77 23 0 0 0 0 0 0 0 0 0 0 Columns 901 through 930 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 931 through 960 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 961 through 990 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 18 56 13 99 16 Columns 991 through 1020 55 70 7 36 25 63 98 76 75 70 52 60 54 74 75 90 8 18 35 92 33 57 88 61 40 36 69 5 83 19 Columns 1021 through 1050 27 85 42 90 71 49 52 67 3 16 38 39 40 62 75 56 89 69 91 71 14 85 62 45 69 2 47 75 13 76 Columns 1051 through 1080 46 41 97 99 86 61 18 45 21 36 85 39 34 13 30 38 99 71 14 83 11 4 72 36 37 100 77 51 70 88 Columns 1081 through 1110 79 94 59 77 23 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 1111 through 1140 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 1141 through 1170 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 1171 through 1200 0 0 0 0 0 0 0 0 0 18 56 13 99 16 55 70 7 36 25 63 98 76 75 70 52 60 54 74 75 90 Columns 1201 through 1230 8 18 35 92 33 57 88 61 40 36 69 5 83 19 27 85 42 90 71 49 52 67 3 16 38 39 40 62 75 56 Columns 1231 through 1260 89 69 91 71 14 85 62 45 69 2 47 75 13 76 46 41 97 99 86 61 18 45 21 36 85 39 34 13 30 38 Columns 1261 through 1290 99 71 14 83 11 4 72 36 37 100 77 51 70 88 79 94 59 77 23 0 0 0 0 0 0 0 0 0 0 0 Columns 1291 through 1320 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 1321 through 1350 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 1351 through 1380 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 56 13 99 16 55 70 7 Columns 1381 through 1410 36 25 63 98 76 75 70 52 60 54 74 75 90 8 18 35 92 33 57 88 61 40 36 69 5 83 19 27 85 42 Columns 1411 through 1440 90 71 49 52 67 3 16 38 39 40 62 75 56 89 69 91 71 14 85 62 ...

Assertion failed.

5   Pass
x = eye(2); assert(isequal(maxdiag(x),[0 1 0]))

y = 0 1 0

6   Pass
x = magic(3); assert(isequal(maxdiag(x),[4 9 8 7 6]))

y = 4 9 8 7 6

7   Pass
x = flipud(hankel(1:1000)); assert(isequal(maxdiag(x),[1:1000,zeros(1,1000-1)]))

y = Columns 1 through 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Columns 16 through 30 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Columns 31 through 45 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 Columns 46 through 60 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Columns 61 through 75 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 Columns 76 through 90 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 Columns 91 through 105 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 Columns 106 through 120 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 Columns 121 through 135 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 Columns 136 through 150 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Columns 151 through 165 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 Columns 166 through 180 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 Columns 181 through 195 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 Columns 196 through 210 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 Columns 211 through 225 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 Columns 226 through 240 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 Columns 241 through 255 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 Columns 256 through 270 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 Columns 271 through 285 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 Columns 286 through 300 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 Columns 301 through 315 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 Columns 316 through 330 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 Columns 331 through 345 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 Columns 346 through 360 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 Columns 361 through 375 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 Columns 376 through 390 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 Columns 391 through 405 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 Columns 406 through 420 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 Columns 421 through 435 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 Columns 436 through 450 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 Columns 451 through 465 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 Columns 466 through 480 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 Columns 481 through 495 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 Columns 496 through 510 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 Columns 511 through 525 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 Columns 526 through 540 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 Columns 541 through 555 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 Columns 556 through 570 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 Columns 571 through 585 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 Columns 586 through 600 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 Columns 601 through 615 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 Columns 616 through 630 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 Columns 631 through 645 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 Columns 646 through 660 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 Columns 661 through 675 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 Columns 676 through 690 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 Columns 691 through 705 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 Columns 706 through 720 706 707 708 709 710 711 712 713 714 715 716 717 718 ...

8   Pass
x = toeplitz(1:1000); assert(isequal(maxdiag(x),[1000:-1:1,2:1000]))

y = Columns 1 through 15 1000 999 998 997 996 995 994 993 992 991 990 989 988 987 986 Columns 16 through 30 985 984 983 982 981 980 979 978 977 976 975 974 973 972 971 Columns 31 through 45 970 969 968 967 966 965 964 963 962 961 960 959 958 957 956 Columns 46 through 60 955 954 953 952 951 950 949 948 947 946 945 944 943 942 941 Columns 61 through 75 940 939 938 937 936 935 934 933 932 931 930 929 928 927 926 Columns 76 through 90 925 924 923 922 921 920 919 918 917 916 915 914 913 912 911 Columns 91 through 105 910 909 908 907 906 905 904 903 902 901 900 899 898 897 896 Columns 106 through 120 895 894 893 892 891 890 889 888 887 886 885 884 883 882 881 Columns 121 through 135 880 879 878 877 876 875 874 873 872 871 870 869 868 867 866 Columns 136 through 150 865 864 863 862 861 860 859 858 857 856 855 854 853 852 851 Columns 151 through 165 850 849 848 847 846 845 844 843 842 841 840 839 838 837 836 Columns 166 through 180 835 834 833 832 831 830 829 828 827 826 825 824 823 822 821 Columns 181 through 195 820 819 818 817 816 815 814 813 812 811 810 809 808 807 806 Columns 196 through 210 805 804 803 802 801 800 799 798 797 796 795 794 793 792 791 Columns 211 through 225 790 789 788 787 786 785 784 783 782 781 780 779 778 777 776 Columns 226 through 240 775 774 773 772 771 770 769 768 767 766 765 764 763 762 761 Columns 241 through 255 760 759 758 757 756 755 754 753 752 751 750 749 748 747 746 Columns 256 through 270 745 744 743 742 741 740 739 738 737 736 735 734 733 732 731 Columns 271 through 285 730 729 728 727 726 725 724 723 722 721 720 719 718 717 716 Columns 286 through 300 715 714 713 712 711 710 709 708 707 706 705 704 703 702 701 Columns 301 through 315 700 699 698 697 696 695 694 693 692 691 690 689 688 687 686 Columns 316 through 330 685 684 683 682 681 680 679 678 677 676 675 674 673 672 671 Columns 331 through 345 670 669 668 667 666 665 664 663 662 661 660 659 658 657 656 Columns 346 through 360 655 654 653 652 651 650 649 648 647 646 645 644 643 642 641 Columns 361 through 375 640 639 638 637 636 635 634 633 632 631 630 629 628 627 626 Columns 376 through 390 625 624 623 622 621 620 619 618 617 616 615 614 613 612 611 Columns 391 through 405 610 609 608 607 606 605 604 603 602 601 600 599 598 597 596 Columns 406 through 420 595 594 593 592 591 590 589 588 587 586 585 584 583 582 581 Columns 421 through 435 580 579 578 577 576 575 574 573 572 571 570 569 568 567 566 Columns 436 through 450 565 564 563 562 561 560 559 558 557 556 555 554 553 552 551 Columns 451 through 465 550 549 548 547 546 545 544 543 542 541 540 539 538 537 536 Columns 466 through 480 535 534 533 532 531 530 529 528 527 526 525 524 523 522 521 Columns 481 through 495 520 519 518 517 516 515 514 513 512 511 510 509 508 507 506 Columns 496 through 510 505 504 503 502 501 500 499 498 497 496 495 494 493 492 491 Columns 511 through 525 490 489 488 487 486 485 484 483 482 481 480 479 478 477 476 Columns 526 through 540 475 474 473 472 471 470 469 468 467 466 465 464 463 462 461 Columns 541 through 555 460 459 458 457 456 455 454 453 452 451 450 449 448 447 446 Columns 556 through 570 445 444 443 442 441 440 439 438 437 436 435 434 433 432 431 Columns 571 through 585 430 429 428 427 426 425 424 423 422 421 420 419 418 417 416 Columns 586 through 600 415 414 413 412 411 410 409 408 407 406 405 404 403 402 401 Columns 601 through 615 400 399 398 397 396 395 394 393 392 391 390 389 388 387 386 Columns 616 through 630 385 384 383 382 381 380 379 378 377 376 375 374 373 372 371 Columns 631 through 645 370 369 368 367 366 365 364 363 362 361 360 359 358 357 356 Columns 646 through 660 355 354 353 352 351 350 349 348 347 346 345 344 343 342 341 Columns 661 through 675 340 339 338 337 336 335 334 333 332 331 330 329 328 327 326 Columns 676 through 690 325 324 323 322 321 320 319 318 317 316 315 314 313 312 311 Columns 691 through 705 310 309 308 307 306 305 304 303 302 301 300 299 298 297 296 Columns 706 through 720 295 294 293 292 291 290 289 288 287 286 285 284 283 ...

9   Pass
N = randi(1000); x = fliplr(toeplitz(1:N)); assert(isequal(maxdiag(x),[1:N,N-1:-1:1]))

y = Columns 1 through 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Columns 31 through 60 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 Columns 61 through 90 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 Columns 91 through 120 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 Columns 121 through 150 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 Columns 151 through 180 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 Columns 181 through 210 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 Columns 211 through 240 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 Columns 241 through 270 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 Columns 271 through 300 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 Columns 301 through 330 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 Columns 331 through 360 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 Columns 361 through 390 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 381 380 379 378 377 376 375 374 Columns 391 through 420 373 372 371 370 369 368 367 366 365 364 363 362 361 360 359 358 357 356 355 354 353 352 351 350 349 348 347 346 345 344 Columns 421 through 450 343 342 341 340 339 338 337 336 335 334 333 332 331 330 329 328 327 326 325 324 323 322 321 320 319 318 317 316 315 314 Columns 451 through 480 313 312 311 310 309 308 307 306 305 304 303 302 301 300 299 298 297 296 295 294 293 292 291 290 289 288 287 286 285 284 Columns 481 through 510 283 282 281 280 279 278 277 276 275 274 273 272 271 270 269 268 267 266 265 264 263 262 261 260 259 258 257 256 255 254 Columns 511 through 540 253 252 251 250 249 248 247 246 245 244 243 242 241 240 239 238 237 236 235 234 233 232 231 230 229 228 227 226 225 224 Columns 541 through 570 223 222 221 220 219 218 217 216 215 214 213 212 211 210 209 208 207 206 205 204 203 202 201 200 199 198 197 196 195 194 Columns 571 through 600 193 192 191 190 189 188 187 186 185 184 183 182 181 180 179 178 177 176 175 174 173 172 171 170 169 168 167 166 165 164 Columns 601 through 630 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 Columns 631 through 660 133 132 131 130 129 128 127 126 125 124 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 Columns 661 through 690 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 Columns 691 through 720 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 Columns 721 through 750 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 Columns 751 through 763 13 12 11 10 9 8 7 6 5 4 3 2 1

10   Pass
x = magic(10); x = x(:,1:3); assert(isequal(maxdiag(x),[11 18 100 94 17 86 93 87 98 92 99 1]))

y = 11 18 100 94 17 86 93 87 98 92 99 1

11   Pass
x = hankel(-4:0,0:-2:-16); assert(isequal(maxdiag(x),[0 -1 0 -1 0 -1 0 -1 0 -2 -4 -6 -8]))

y = 0 -1 0 -1 0 -1 0 -1 0 -2 -4 -6 -8