Too many inputs to inline function

2 views (last 30 days)
Pramit Biswas
Pramit Biswas on 19 Jun 2013
Edited: Anay Aggarwal on 12 Jul 2022
fcnstr=input('Put Desired Function: dy/dx=', 's') ; f=inline(fcnstr) ;
x0=input('x(0)=') ;
y0=input('y(0)=') ;
xf=input('x(f)=') ;
n=2 ;
h=(xf-x0)/n
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
format long g
xa(1)=x0 ;
ya(1)=y0 ;
for i=1:n
xa(i+1)=xa(i)+h ;
k1 = h*f(xa(i),ya(i));
gives error:
"??? Error using ==> inline.subsref at 17
Too many inputs to inline function.
Error in ==> FODESu4oRKv1 at 43
k1 = h*f(xa(i),ya(i));"
  1 Comment
Pramit Biswas
Pramit Biswas on 19 Jun 2013
well i used this
x0=input(sprintf('x(0)=', '%g'))

Sign in to comment.

Answers (1)

Anay Aggarwal
Anay Aggarwal on 10 Jul 2022
Edited: Anay Aggarwal on 12 Jul 2022
Hi Pramit
I have an understanding that you want to make use of the inline function in your code; but you are not able to and it is giving an error "Too many inputs to inline function".
You need to specify the variables (and the order of the variables) explicitly when you use inline().
See the bottom example in the reference page:
Regards

Categories

Find more on Function Creation in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!