How does symvar work?

Hi all!
symvar 'cos(2*pi*t)'
How can I make symvar to not return 't'?
I use this: syms t
but no success.

 Accepted Answer

Paulo Silva
Paulo Silva on 7 Jun 2011

1 vote

symvar gives you the symbolic variables inside one expression, you say that t is symbolic so the expression symvar('cos(2*pi*t)') gives you t, I can't imagine why you don't wan't to get the t.

3 Comments

sadel
sadel on 7 Jun 2011
Well here is my main problem: http://www.mathworks.com/matlabcentral/answers/8905-how-can-i-create-a-function-which-evaluate-only-strings-which-represent-only-mathematical-functions
I saw that symvar returns identifiers other than i, j, pi, inf, nan, eps, and common functions and I believe that if I make it to identify the 't' from a string like this 'cos(2*pi*t)' , then I can reach my target
sadel
sadel on 7 Jun 2011
If I could make symvar to identify the symbol 't' and doesn't return it then I could create
a function which evaluate only strings which represent only mathematical functions
t=0:0.1:10;
insertfunction='cos(2*pi*t))'
gh=symvar(insertfunction)
if (gh is an empty cell array)
eval(['v =0*t+ ',vectorize(gh),';'])
plot(t,v)
end
t=0:0.1:10;
insertfunction='cos(2*pi*t))'
gh=symvar(insertfunction)
if (numel(gh)==1) %see if there's only one symbolic variable (just the t)
eval(['v =0*t+ ',vectorize(gh),';'])
plot(t,v)
end

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!