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

Solution 124842

Submitted on 7 Aug 2012 by James

Correct

71Size
Leading solution size is 38.
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
 
%%
f = fopen('mymorphop.m','rt');
code = lower(fread(f,Inf,'*char'))';
fclose(f);
assert(isempty(strfind(code,'dilat')))
assert(isempty(strfind(code,'erode')))
assert(isempty(strfind(code,'bwmorph')))
assert(isempty(strfind(code,'filt')))
assert(isempty(strfind(code,'conv')))

                    
2
Pass
 
%%
in = zeros(3,3);
out = in;
assert(isequal(mymorphop(in),out));
r =
     3
c =
     3
a =
   Empty matrix: 0-by-1
b =
   Empty matrix: 0-by-1
3
Pass
 
%%
in = zeros(10,5);
in(4,3) = 1;
out = in;
out(3:5,2:4) = 1;
assert(isequal(mymorphop(in),out));
r =
    10
c =
     5
a =
     4
b =
     3
4
Pass
 
%%
in =  [0,0,1,0,0,1,0
       0,1,0,0,0,1,1
       1,1,0,0,0,0,0
       1,0,0,0,0,0,1
       1,0,0,0,0,1,1];
out = [1,1,1,1,1,1,1
       1,1,1,1,1,1,1
       1,1,1,0,1,1,1
       1,1,1,0,1,1,1
       1,1,0,0,1,1,1];
assert(isequal(mymorphop(in),out));
r =
     5
c =
     7
a =
     3
     4
     5
     2
     3
     1
     1
     2
     5
     2
     4
     5
b =
     1
     1
     1
     2
     2
     3
     6
     6
     6
     7
     7
     7
5
Pass
 
%%
in =  [0,0,1,0,0,0,0,0,1
       0,1,0,0,0,0,0,0,1
       1,1,0,0,0,0,0,0,1
       1,0,0,0,0,0,0,0,1
       1,0,0,0,0,0,0,0,1];
out = [1,1,1,1,0,0,0,1,1
       1,1,1,1,0,0,0,1,1
       1,1,1,0,0,0,0,1,1
       1,1,1,0,0,0,0,1,1
       1,1,0,0,0,0,0,1,1];
assert(isequal(mymorphop(in),out));
r =
     5
c =
     9
a =
     3
     4
     5
     2
     3
     1
     1
     2
     3
     4
     5
b =
     1
     1
     1
     2
     2
     3
     9
     9
     9
     9
     9