How to plot multiple graph

1 次查看(过去 30 天)
Nima Vali
Nima Vali 2020-9-21
评论: Nima Vali 2020-9-21
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 个评论
Nima Vali
Nima Vali 2020-9-21
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 2020-9-21
but it comes with error

请先登录,再进行评论。

回答(2 个)

Jon
Jon 2020-9-21
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 个评论
Jon
Jon 2020-9-21
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 2020-9-21
Yes, I get it. Thank you for help.

请先登录,再进行评论。


Ameer Hamza
Ameer Hamza 2020-9-21
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 个评论
Image Analyst
Image Analyst 2020-9-21
And you might add a legend so you know what color is what.
legend('Original Signal', 'Derivative', 'Location', 'northeast');

请先登录,再进行评论。

标签

Community Treasure Hunt

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

Start Hunting!

Translated by