Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

MATLAB changing axis labes on step()/margin() functions help required please

  1. Oct 27, 2011 #1


    User Avatar

    Hi all,

    I am having a little trouble with a matlab GUI that i am writing, with GUIDE. Its purpose is basically to display the bode diagram and step response of a transfer function, and allow the user to change controller parameters/time delays and such to see the affect. I wont post my code here, because it works perfectly. (unless anyone wants it)

    The one thing i am having trouble with is changing the labels of the plots drawn by step/margin functions. My transfer functions are actually in minutes whereas the plot automatically labels the axis as seconds.

    Margin looks like: 'Frequency (rad/sec)'
    Step looks like : 'Time (sec)'

    I have tried using xlabel('newLabel');
    However what that just replaces the 'Frequency' Label with 'newLabel', whilst the (rad/sec) component remains.
    This is the same deal for the step plot.

    I have googled this extensively and cannot seem to find the answer :(

    Thanks in advance,
  2. jcsd
  3. Oct 28, 2011 #2


    User Avatar
    Gold Member

    you can set these two properties: XTick XTickLabel

    XTICK sets where the tick marks are, the label set WHAT they are (can be text)

    Now, you can write a loop with sprintf to make a series of numbers into the text you want if you want to do HH:MM:SS time.

    There's also a matlab function on the file exchange that might help:

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook