Filter löschen
Filter löschen

feval problem Too many inputs to inline function.

1 Ansicht (letzte 30 Tage)
adem ski
adem ski am 4 Dez. 2019
Beantwortet: Walter Roberson am 26 Feb. 2022
a=0
b=2
y=5
x=1/2
f1=inline('(1+x^2)/(sqrt(x)+3)')
f2=inline('(1+x^2)/(sqrt(x)+3)')
f3=inline('(1+x^2)/(sqrt(x)+3)')
f4=inline('(1+x^2)/(sqrt(x)+3)')
f1=feval(f1,x)
f2=feval(f2,a,b,x)
f3=feval(f3,x,y)
f4=feval(f4,a,x,b,y)
i see this problem
??? Error using ==> inline.feval at 26
Too many inputs to inline function.
Too many inputs to inline function.
Error in ==> Untitled3 at 10
f2=feval(f2,a,b,x)
how can i fix it

Antworten (2)

JESUS DAVID ARIZA ROYETH
JESUS DAVID ARIZA ROYETH am 4 Dez. 2019
a=0
b=2
y=5
x=1/2
f1=inline('(1+x^2)/(sqrt(x)+3)')
f2=inline('(1+x^2)/(sqrt(x)+3)')
f3=inline('(1+x^2)/(sqrt(x)+3)')
f4=inline('(1+x^2)/(sqrt(x)+3)')
f1=f1(x)
f2=f2(x)
f3=f3(x)
f4=f4(x)
But inline will be removed in a future release. Use Anonymous Functions instead:
x=1/2;
f1=@(x) (1+x^2)/(sqrt(x)+3);
f1value=f1(x)

Walter Roberson
Walter Roberson am 26 Feb. 2022
When you use inline() [which should be only if you have a need to prove that you can use inline], then you should define all of the variables you expect to use in the function, and their order.
a=0
a = 0
b=2
b = 2
y=5
y = 5
x=1/2
x = 0.5000
f1=inline('(1+x^2)/(sqrt(x)+3)', 'x')
f1 = Inline function: f1(x) = (1+x^2)/(sqrt(x)+3)
f2=inline('(1+x^2)/(sqrt(x)+3)', 'a', 'b', 'x')
f2 = Inline function: f2(a,b,x) = (1+x^2)/(sqrt(x)+3)
f3=inline('(1+x^2)/(sqrt(x)+3)', 'x', 'y')
f3 = Inline function: f3(x,y) = (1+x^2)/(sqrt(x)+3)
f4=inline('(1+x^2)/(sqrt(x)+3)', 'a', 'x', 'b', 'y')
f4 = Inline function: f4(a,x,b,y) = (1+x^2)/(sqrt(x)+3)
f1=feval(f1,x)
f1 = 0.3372
f2=feval(f2,a,b,x)
f2 = 0.3372
f3=feval(f3,x,y)
f3 = 0.3372
f4=feval(f4,a,x,b,y)
f4 = 0.3372

Kategorien

Mehr zu Function Creation finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by