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

Correct

55Size
Leading solution size is 31.
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
 
%%
m = [0 0 0];
res = 1;
y_correct = [-1    -1     0; ...
    -1     0    -1; ...
    -1     0     0; ...
    -1     0     1; ...
    -1     1     0; ...
     0    -1    -1; ...
     0    -1     0; ...
     0    -1     1; ...
     0     0    -1; ...
     0     0     0; ...
     0     0     1; ...
     0     1    -1; ...
     0     1     0; ...
     0     1     1; ...
     1    -1     0; ...
     1     0    -1; ...
     1     0     0; ...
     1     0     1; ...
     1     1     0];
assert(isequal(dilate3d(m,res),y_correct))

                    
2
Pass
 
%%
m = [100 -100 0.5; ...
100 -90 0.5; ...
90 -90 0.5; ...
110 -90 0.5; ...
100 -80 0.5];
res = 10;
y_correct = [80.0000 -100.0000    0.5000; ...
   80.0000  -90.0000   -9.5000; ...
   80.0000  -90.0000    0.5000; ...
   80.0000  -90.0000   10.5000; ...
   80.0000  -80.0000    0.5000; ...
   90.0000 -110.0000    0.5000; ...
   90.0000 -100.0000   -9.5000; ...
   90.0000 -100.0000    0.5000; ...
   90.0000 -100.0000   10.5000; ...
   90.0000  -90.0000   -9.5000; ...
   90.0000  -90.0000    0.5000; ...
   90.0000  -90.0000   10.5000; ...
   90.0000  -80.0000   -9.5000; ...
   90.0000  -80.0000    0.5000; ...
   90.0000  -80.0000   10.5000; ...
   90.0000  -70.0000    0.5000; ...
  100.0000 -110.0000   -9.5000; ...
  100.0000 -110.0000    0.5000; ...
  100.0000 -110.0000   10.5000; ...
  100.0000 -100.0000   -9.5000; ...
  100.0000 -100.0000    0.5000; ...
  100.0000 -100.0000   10.5000; ...
  100.0000  -90.0000   -9.5000; ...
  100.0000  -90.0000    0.5000; ...
  100.0000  -90.0000   10.5000; ...
  100.0000  -80.0000   -9.5000; ...
  100.0000  -80.0000    0.5000; ...
  100.0000  -80.0000   10.5000; ...
  100.0000  -70.0000   -9.5000; ...
  100.0000  -70.0000    0.5000; ...
  100.0000  -70.0000   10.5000; ...
  110.0000 -110.0000    0.5000; ...
  110.0000 -100.0000   -9.5000; ...
  110.0000 -100.0000    0.5000; ...
  110.0000 -100.0000   10.5000; ...
  110.0000  -90.0000   -9.5000; ...
  110.0000  -90.0000    0.5000; ...
  110.0000  -90.0000   10.5000; ...
  110.0000  -80.0000   -9.5000; ...
  110.0000  -80.0000    0.5000; ...
  110.0000  -80.0000   10.5000; ...
  110.0000  -70.0000    0.5000; ...
  120.0000 -100.0000    0.5000; ...
  120.0000  -90.0000   -9.5000; ...
  120.0000  -90.0000    0.5000; ...
  120.0000  -90.0000   10.5000; ...
  120.0000  -80.0000    0.5000];
assert(isequal(dilate3d(m,res),y_correct))

                    
3
Pass
 
%%
m = [-5 -5 0; ...
-5 -5 -0.5; ...
-5 -4.5 -0.5; ...
-5 -4 -0.5; ...
0 5 4; ...
0.5 5.5 4];
res = 0.5;
y_correct = [-5.5000   -5.5000   -0.5000; ...
   -5.5000   -5.5000         0; ...
   -5.5000   -5.0000   -1.0000; ...
   -5.5000   -5.0000   -0.5000; ...
   -5.5000   -5.0000         0; ...
   -5.5000   -5.0000    0.5000; ...
   -5.5000   -4.5000   -1.0000; ...
   -5.5000   -4.5000   -0.5000; ...
   -5.5000   -4.5000         0; ...
   -5.5000   -4.0000   -1.0000; ...
   -5.5000   -4.0000   -0.5000; ...
   -5.5000   -4.0000         0; ...
   -5.5000   -3.5000   -0.5000; ...
   -5.0000   -5.5000   -1.0000; ...
   -5.0000   -5.5000   -0.5000; ...
   -5.0000   -5.5000         0; ...
   -5.0000   -5.5000    0.5000; ...
   -5.0000   -5.0000   -1.0000; ...
   -5.0000   -5.0000   -0.5000; ...
   -5.0000   -5.0000         0; ...
   -5.0000   -5.0000    0.5000; ...
   -5.0000   -4.5000   -1.0000; ...
   -5.0000   -4.5000   -0.5000; ...
   -5.0000   -4.5000         0; ...
   -5.0000   -4.5000    0.5000; ...
   -5.0000   -4.0000   -1.0000; ...
   -5.0000   -4.0000   -0.5000; ...
   -5.0000   -4.0000         0; ...
   -5.0000   -3.5000   -1.0000; ...
   -5.0000   -3.5000   -0.5000; ...
   -5.0000   -3.5000         0; ...
   -4.5000   -5.5000   -0.5000; ...
   -4.5000   -5.5000         0; ...
   -4.5000   -5.0000   -1.0000; ...
   -4.5000   -5.0000   -0.5000; ...
   -4.5000   -5.0000         0; ...
   -4.5000   -5.0000    0.5000; ...
   -4.5000   -4.5000   -1.0000; ...
   -4.5000   -4.5000   -0.5000; ...
   -4.5000   -4.5000         0; ...
   -4.5000   -4.0000   -1.0000; ...
   -4.5000   -4.0000   -0.5000; ...
   -4.5000   -4.0000         0; ...
   -4.5000   -3.5000   -0.5000; ...
   -0.5000    4.5000    4.0000; ...
   -0.5000    5.0000    3.5000; ...
   -0.5000    5.0000    4.0000; ...
   -0.5000    5.0000    4.5000; ...
   -0.5000    5.5000    4.0000; ...
         0    4.5000    3.5000; ...
         0    4.5000    4.0000; ...
         0    4.5000    4.5000; ...
         0    5.0000    3.5000; ...
         0    5.0000    4.0000; ...
         0    5.0000    4.5000; ...
         0    5.5000    3.5000; ...
         0    5.5000    4.0000; ...
         0    5.5000    4.5000; ...
         0    6.0000    4.0000; ...
    0.5000    4.5000    4.0000; ...
    0.5000    5.0000    3.5000; ...
    0.5000    5.0000    4.0000; ...
    0.5000    5.0000    4.5000; ...
    0.5000    5.5000    3.5000; ...
    0.5000    5.5000    4.0000; ...
    0.5000    5.5000    4.5000; ...
    0.5000    6.0000    3.5000; ...
    0.5000    6.0000    4.0000; ...
    0.5000    6.0000    4.5000; ...
    1.0000    5.0000    4.0000; ...
    1.0000    5.5000    3.5000; ...
    1.0000    5.5000    4.0000; ...
    1.0000    5.5000    4.5000; ...
    1.0000    6.0000    4.0000];
assert(isequal(dilate3d(m,res),y_correct))