add frequency scale for mesh

5 views (last 30 days)
I want to display the frequency scale ( 0:1:10 ) on y-axis for the following code:
x=peaks;
f=10; % freq
fval=0:1:f;
mesh(x)
set(gca,'Ydir','reverse')
ylabel('freq. Hz')
xlabel('Samples')
zlabel('Amp.')

Accepted Answer

Star Strider
Star Strider on 23 May 2016
This works:
x=peaks;
f=10; % freq
fval=0:1:f;
mesh(x)
set(gca,'Ydir','reverse')
ylabel('freq. Hz')
xlabel('Samples')
zlabel('Amp.')
yt = get(gca,'YLim'); % Get Y-Limits Values
dyt = 0:10; % Desired Y-Tick Values
set(gca, 'YTick',linspace(min(yt),max(yt),length(dyt)), 'YTickLabel', dyt) % Set New Labels
  4 Comments
MOHAMMED AL-DALLAL
MOHAMMED AL-DALLAL on 23 May 2016
Edited: MOHAMMED AL-DALLAL on 23 May 2016
its perfect thank you very much , last asking if i want to change the scale for x-axis ? as example x scale from 0 to 20 ?
is it correct xv = linspace(0, 20, size(x,2));
Star Strider
Star Strider on 23 May 2016
My pleasure. (Sorry, had to be away for a bit running errands. Life intrudes.)
You ‘xv’ assignment will work as you wrote it, and will do what you want in the meshgrid call:
xv = linspace(0, 20, size(x,2));

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!