How to plot multiple graph

Hello all
I am going to plot f= sin(5x)/x^3 and its derivative f '(x) within the domain x ∈[0.1,0.4]using semilogy plot.

6 Comments

Do you want two lines on the same plot, or do you want two plots (i.e. subplots).
I want both (the function and its derivative) in one plot.
This seems like a homework question. What have you already tried?
clc; clear all; close all;
syms x
x=logspace(0.1,0.4);
f(x)=sin(5*x)./(x.^3);
Df=diff(f,x);
semilogx(x,f(x),'g')
hold on
semilogx(x,Df,'r')
grid
but it comes with error

Sign in to comment.

Answers (2)

I don't have the symbolic toolbox, but I could get your code to work by modifying as follows. Note I did not include the line syms x as I don't have the symbolic toolbox.
x=logspace(0.1,0.4);
f =sin(5*x)./(x.^3);
Df= gradient(f)./gradient(x);
semilogx(x,f,'g')
hold on
semilogx(x,Df,'r')
grid

2 Comments

The key line is
Df= gradient(f)./gradient(x)
This gives a simple numerical approximation to the derivative.
You can see what the gradient function does by typing doc gradient on the command line.
Yes, I get it. Thank you for help.

Sign in to comment.

You are using the symbolic variables incorrectly. Check this code
% clc; clear all; close all;
syms x
f(x)=sin(5*x)./(x.^3);
Df = diff(f,x);
xv = logspace(0.1,0.4);
semilogx(xv, f(xv), 'g')
hold on
semilogx(xv, Df(xv), 'r')
grid

3 Comments

Yes Thank you for correction.
And you might add a legend so you know what color is what.
legend('Original Signal', 'Derivative', 'Location', 'northeast');
yes, Thank you.

Sign in to comment.

Tags

Asked:

on 21 Sep 2020

Commented:

on 21 Sep 2020

Community Treasure Hunt

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

Start Hunting!