Why am I getting error "Array indices must be positive" and error in syms, when using eval function
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Why am I getting errors when using the eval function?
syms x
f(x) = 3.5*x*(1-x)
f2 = f(f(x))
eqn2 = f2 == x;
sol= (solve(eqn2,x))
eval(f2(sol(2)))
I have used the same steps to evaluate f with no errors.
Any pointers would be really appreciated.
1 Commento
Stephen23
il 10 Feb 2022
Modificato: Stephen23
il 10 Feb 2022
"Why am I getting errors when using the eval function? "
Because EVAL is completely the wrong tool for the job.
Note that EVAL is not listed anywhere in the Symbolic Toolbox documentation: https://www.mathworks.com/help/symbolic/referencelist.html?type=function
The correct use of EVAL is with MATLAB code, not with objects from the Symbolic Math Toolbox:
Risposta accettata
Highphi
il 9 Feb 2022
I think it's because you need to make f, f2, and eqn2 functions of x (even though I drop eqn2)
syms x f f2 % << here
f(x) = 3.5*x*(1-x) % and see f(x) instead of just f
f2(x) = f(f(x)) % etc
% eqn2(x) = f2(x) == x %% not necessary
% sol = solve(eqn2, x) %% not necessary
sol = solve(f2(x) == x, x)
eval(f2(sol(2)))
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Assumptions in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!