Cody

Solution 127328

Submitted on 13 Aug 2012 by James
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(regexp(fileread('Rosenbrock_banana.m'),'assert.m')))
2   Pass
%% x = [0; 0]; assert(isequal(Rosenbrock_banana(x),1))
value = 1 grad = -2 0
3   Pass
%% x = [1; 1]; assert(isequal(Rosenbrock_banana(x),0))
value = 0 grad = 0 0
4   Pass
%% x = [1; -1]; assert(isequal(Rosenbrock_banana(x),400))
value = 400 grad = 800 -400
5   Pass
%% x = [-1; 0.5]; assert(isequal(Rosenbrock_banana(x),29))
value = 29 grad = -204 -100
6   Pass
%% x = [0; 0]; [~,grad]=Rosenbrock_banana(x); assert(isequal(grad,[-2; 0]))
value = 1 grad = -2 0
7   Pass
%% x = [0; 0]; [~,~,Hess]=Rosenbrock_banana(x); assert(isequal(Hess,diag([2, 200])))
value = 1 grad = -2 0
8   Pass
%% x = [1; 1]; [~,grad]=Rosenbrock_banana(x); assert(isequal(grad,[0; 0]))
value = 0 grad = 0 0
9   Pass
%% x = [1; 1]; [~,~,Hess]=Rosenbrock_banana(x); assert(isequal(Hess,[802, -400; -400, 200]))
value = 0 grad = 0 0
10   Pass
%% x = [-1.9; 2]; correct_value = 267.6200; correct_grad = -1e3*[1.2294; 0.3220]; correct_Hess = [3534, 760; 760, 200]; [val,grad,Hess]=Rosenbrock_banana(x); assert(isequal(str2num(num2str(val)),correct_value)) assert(isequal(str2num(num2str(grad)),correct_grad)) assert(all(max(abs(Hess-correct_Hess)<1e-8)))
value = 267.6200 grad = 1.0e+03 * -1.2294 -0.3220