Too many inputs to inline function

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

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

Products

Tags

Asked:

on 19 Jun 2013

Edited:

on 12 Jul 2022

Community Treasure Hunt

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

Start Hunting!