How to plot multiple graph

1 visualizzazione (ultimi 30 giorni)
Nima Vali
Nima Vali il 21 Set 2020
Commentato: Nima Vali il 21 Set 2020
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 Commenti
Nima Vali
Nima Vali il 21 Set 2020
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
Nima Vali
Nima Vali il 21 Set 2020
but it comes with error

Accedi per commentare.

Risposte (2)

Jon
Jon il 21 Set 2020
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 Commenti
Jon
Jon il 21 Set 2020
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.
Nima Vali
Nima Vali il 21 Set 2020
Yes, I get it. Thank you for help.

Accedi per commentare.


Ameer Hamza
Ameer Hamza il 21 Set 2020
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 Commenti
Image Analyst
Image Analyst il 21 Set 2020
And you might add a legend so you know what color is what.
legend('Original Signal', 'Derivative', 'Location', 'northeast');
Nima Vali
Nima Vali il 21 Set 2020
yes, Thank you.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by