Not enough inpout arguments in while loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Maria Lepouri
le 1 Nov 2018
Modifié(e) : Maria Lepouri
le 1 Nov 2018
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!
0 commentaires
Réponse acceptée
Walter Roberson
le 1 Nov 2018
if nargin<6, maxiter=100; end
if nargin<5, tol=1e-10; end
You have 8 possible arguments to that function, so the 6 should be 8 and the 5 should be 7.
Plus de réponses (1)
Elias Gule
le 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.
0 commentaires
Voir également
Catégories
En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!