How do I plot a symbolic function of one variable for a specific set of argument values?

3 views (last 30 days)
Say, I have a symbolic function y(x). There is no support for plotting it when x=logspace(1, 5, 101) in fplot(). How do I do it nicely?

Answers (1)

Walter Roberson
Walter Roberson on 30 May 2021
syms y(x)
y(x) = cos(x) * exp(-x/10)
y(x) = 
fplot(y, [10 100])
title('fplot')
X = logspace(1, 2, 101);
Y = double(subs(y, x, X));
plot(X, Y)
title('subs')
  3 Comments
Valeri Aronov
Valeri Aronov on 3 Jun 2021
I have unaccepted the almost good given answer after a closer examination. I am sorry about being too quick. The purpose of using logspace for x was to spread its values in such a way that they are equidistant on the plot. They are not in the given solution.
Valeri Aronov
Valeri Aronov on 3 Jun 2021
Edited: Valeri Aronov on 3 Jun 2021
I was too quick again - the acceptable solution seems to be:
Y = double(y)
loglog(Y)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!