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.

 采纳的回答

Paulo Silva
Paulo Silva 2011-6-7

1 个投票

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 个评论

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
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

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by