During compiling came across error 'too many input arguments'

1 次查看(过去 30 天)
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.

采纳的回答

Walter Roberson
Walter Roberson 2016-5-24
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 个评论
Walter Roberson
Walter Roberson 2016-5-24
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.

请先登录,再进行评论。

更多回答(1 个)

SHIJINA P P
SHIJINA P P 2016-5-25
I got it, Thank you sir.

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by