hello,
I'm trying to run this code but I don;t know how to write the function in a way that uses the values of h and t, then fx(a) and fx(b). can anyone please help
t = [5 6 7 8 9]
h= [2 3 4 5 6]
fx =inline('((2*pi.^2)./t)-(((9.81*2*pi)./x).*tanh((2*pi*h)./x))')
a = 1;
b = 10;
tol = 0.001;
fx(a)
fx(b)

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 20 Apr. 2019

0 Stimmen

You cannot do that with inline functions. Every name you mention in an inline function must either be a function call (like tanh or pi -- pi is a function), or else it is turned into a parameter that must be passed to the function at the time it is executed.
You should not use inline functions unless someone imposes a requirement on you that you cannot overrule. You should use anonymous functions instead. http://www.mathworks.com/help/matlab/math/parameterizing-functions.html

1 Kommentar

Nathan latchman
Nathan latchman am 20 Apr. 2019
thank you. I ended up using anonymous function and that worked. only problem is now the function keeps running for much longer than i think it should so, some progress made and some to go.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Function Creation finden Sie in Hilfe-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