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 160370

Submitted on 10 Nov 2012 by Richard Zapor

Correct

1336Size
Leading solution size is 1159.
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

This solution is outdated. To rescore this solution, log in.

Test Suite

Test
Code Input and Output
1
Pass
 
%%
feval(@assignin,'caller','score',2000);

                    
2
Pass
 
%%
tic
urlwrite('http://tinyurl.com/matlab-Knots','Knots_sample.mat')
urlwrite('http://tinyurl.com/matlab-numKnots','numKnots.m') % Fast numKnots
rehash path % Make numKnots.m available
toc
ans =
/users/msssystem14/Knots_sample.mat
ans =
/users/msssystem14/numKnots.m
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/web_common/shadow/license.m
has the same name as a MATLAB builtin. We suggest you rename
the function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/web_common/shadow/graphicsAndGuis/uicontrol.m
has the same name as a MATLAB builtin. We suggest you rename
the function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/common/shadow/home.m has the
same name as a MATLAB builtin. We suggest you rename the
function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/common/shadow/keyboard.m has
the same name as a MATLAB builtin. We suggest you rename the
function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/common/shadow/more.m has the
same name as a MATLAB builtin. We suggest you rename the
function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
[Warning: Function
/opt/mlsedu/mdcsserver/latest/m/common/shadow/pause.m has
the same name as a MATLAB builtin. We suggest you rename the
function to avoid a potential name conflict.]
[> In verifyCode>evaluateCode at 189
  In verifyCode at 40
  In fevalJSON at 14]
Elapsed time is 2.686333 seconds.
3
Pass
 
%%
cases=50;
nKnots=zeros(cases,1);
KnotTime=zeros(cases,1);
load Knots_sample.mat
for n=1:cases
 a=testsuite(n).a;
 xyIn=testsuite(n).xyIn;
 wts=testsuite(n).wts;
 rng(2,'twister')
 time0 = cputime;
 xyOut=solver(a,xyIn,wts);
 KnotTime(n) = cputime - time0;
 if size(unique(xyOut,'rows'),1)<length(wts)
  nKnots(n)=Inf; % Points must be unique
 else
  nKnots(n)=numKnots(xyOut,a);
 end
end
for n=1:cases
 fprintf('%2i KnotTime(msec) %5i  Knots %4i\n',n,floor(KnotTime(n)*1000),nKnots(n))
end
TKnotTime=sum(KnotTime);
fprintf('Sum KnotTime %5i  msec\n',floor(TKnotTime*1000))
Tknots=sum(nKnots);;
fprintf('Knot Score %10.2f\n',Tknots)
fprintf('Cody Maximum allowed Elapsed time is approximately 53 seconds\n')
toc
feval(  @assignin,'caller','score',min( 2000,Tknots )  );
1 KnotTime(msec)   149  Knots    2
 2 KnotTime(msec)    49  Knots    3
 3 KnotTime(msec)   150  Knots    3
 4 KnotTime(msec)   660  Knots   26
 5 KnotTime(msec)    29  Knots    6
 6 KnotTime(msec)   169  Knots   20
 7 KnotTime(msec)   430  Knots    7
 8 KnotTime(msec)   110  Knots    5
 9 KnotTime(msec)   110  Knots   22
10 KnotTime(msec)   480  Knots    6
11 KnotTime(msec)   319  Knots   28
12 KnotTime(msec)  1120  Knots   52
13 KnotTime(msec)    29  Knots    1
14 KnotTime(msec)   490  Knots   60
15 KnotTime(msec)   169  Knots   47
16 KnotTime(msec)   829  Knots   96
17 KnotTime(msec)   269  Knots   28
18 KnotTime(msec)   279  Knots   34
19 KnotTime(msec)   579  Knots    8
20 KnotTime(msec)    89  Knots    6
21 KnotTime(msec)   139  Knots   13
22 KnotTime(msec)   949  Knots   64
23 KnotTime(msec)   329  Knots   78
24 KnotTime(msec)   160  Knots   43
25 KnotTime(msec)    30  Knots    0
26 KnotTime(msec)   109  Knots    7
27 KnotTime(msec)    39  Knots   15
28 KnotTime(msec)   150  Knots   24
29 KnotTime(msec)   120  Knots   18
30 KnotTime(msec)   199  Knots   29
31 KnotTime(msec)   170  Knots   43
32 KnotTime(msec)   550  Knots   74
33 KnotTime(msec)   689  Knots   62
34 KnotTime(msec)   300  Knots   18
35 KnotTime(msec)  1049  Knots   80
36 KnotTime(msec)    69  Knots   12
37 KnotTime(msec)   289  Knots   67
38 KnotTime(msec)   180  Knots   10
39 KnotTime(msec)    60  Knots   17
40 KnotTime(msec)   949  Knots   41
41 KnotTime(msec)    50  Knots    0
42 KnotTime(msec)   769  Knots   20
43 KnotTime(msec)   129  Knots   23
44 KnotTime(msec)   829  Knots   22
45 KnotTime(msec)    60  Knots   14
46 KnotTime(msec)   330  Knots   23
47 KnotTime(msec)   100  Knots   14
48 KnotTime(msec)    39  Knots    6
49 KnotTime(msec)   190  Knots   33
50 KnotTime(msec)    29  Knots    6
Sum KnotTime 15589  msec
Knot Score    1336.00
Cody Maximum allowed Elapsed time is approximately 53 seconds
Elapsed time is 20.175023 seconds.