During compiling came across error 'too many input arguments'

1 visualizzazione (ultimi 30 giorni)
Program is solving second order differential equation using fourth order runga kutta method. Sliding mode control program is used as the controller. Error in line 15.

Risposta accettata

Walter Roberson
Walter Roberson il 24 Mag 2016
You should get rid of the "clear all": it can only cause you problems inside functions.
Your line 15 has
control(state,time)
which shows the routine named control called with a state and a time. But further down you define the function control as taking a single argument named x not with two arguments.
  4 Commenti
Walter Roberson
Walter Roberson il 24 Mag 2016
Your code passes time to Derivatives but Derivatives does not expect a second argument.
You are not using time in Derivatives so you probably do not need to pass it if your Derivatives routine is correct.
I see in your revised code that in your first call to control, you pass the entire vector of time but in all your other calls to control you pass only a variant of the current time, such as time(idx) plus something. This is inconsistent and hints at a logic error in your code.
On the other hand, your control function ignores the time that it is being passed so there is no point in passing the time if your control routine is correct.

Accedi per commentare.

Più risposte (1)

SHIJINA P P
SHIJINA P P il 25 Mag 2016
I got it, Thank you sir.

Categorie

Scopri di più su Numerical Integration and Differential Equations in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by