Not enough inpout arguments in while loop
Show older comments
Hello, I have a code that i need to use for SQP optimization with the Newton step method. When I run it, it keeps telling me not enough inpout arguments in while loop.
function [x,grad,hessian,xk,lamda] = myNewton(f,g,H,h,dh,x0,tol,maxiter)
if nargin<6, maxiter=100; end
if nargin<5, tol=1e-10; end
k=0; x=x0(1:2,1); xk=x0(1:2,1);lamda=x0(3,1);
fprintf('Iter f(x)\n')
while (norm(feval(g,x))>tol && k<maxiter )
Why does it keep telling me that i don't have enough inpout arguments? Thank you!
Accepted Answer
More Answers (1)
Elias Gule
on 1 Nov 2018
fprintf('%4u %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f\n',k,fn,x,lamda,norm(grad))
looks suspicious. fprintf appears to be expecting 7 inputs while only 5 are being supplied.
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!