How to plot multiple graph
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
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
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.
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
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!