Can we distinguish between variables and parameters in a symbolic function?
Mostra commenti meno recenti
Hello,
I have a simple (perhaps naive, if so my appology) question. Consider the following
syms x f(x) x
f(x) = a*x;
Is there a way to distinguish between 'x' and 'a'? If I use symvar(f) it just gives the information about all vars and aparetly
cannot distinguish between x and a.
Any idea?
Thanks in advance,
Babak
2 Commenti
Dyuman Joshi
il 15 Dic 2022
symvar determines symbolic variables in the expression. Since you have not defined a as a symbolic variable in the above code, symvar won't classify a as an output.
What is the data type of a?
Mohammad Shojaei Arani
il 15 Dic 2022
Risposta accettata
Più risposte (1)
Walter Roberson
il 17 Dic 2022
f_variables = argnames(f)
f_param = setdiff(symvar(f), f_variables)
This is not the same thing as "all variables mentioned that are not parameters". symvar does not report any "bound" variables or any variables being used as functions.
A bound variable is like x in
int(f(x), x, a, b)
provided that f does not itself contain x then you could substitute any other variable name without affecting the output, like
int(f(Dummy), Dummy, a, b)
int() and symsum() and symprod() can all use bound variables.
1 Commento
Mohammad Shojaei Arani
il 17 Dic 2022
Categorie
Scopri di più su Programming in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!