Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

how to convert time unit in graphic

Asked by Kesni savitri

Kesni savitri

on 20 May 2013
Accepted Answer by Walter Roberson

Walter Roberson

i have a trouble to make my task,

i use gui matlab to show a graph.

the graph i build from the calculated differential equation use ode45 with step size 1 hour.

there is 1 until 2160 hour. and i want to show the graph time unit in 'days' without change the step size of my ode45, so how can i do?

0 Comments

Kesni savitri

Kesni savitri

Products

1 Answer

Answer by Walter Roberson

Walter Roberson

on 20 May 2013
Accepted answer

For example,

plot(t(:,1), y(:,1))
curtick = get(gca, 'xtick');
newlab = cellstr( num2str( curtick(:) ./ 24 ) );
set(gca, 'xticklabel', newlab)

2 Comments

Kesni savitri

Kesni savitri

on 20 May 2013

thanks for you answer, but i have 8 differensial equation, so i write...

plot(t(:,1), y(:,1),y(:,2),y(:,3),y(:,4),y(:,5),y(:,6),y(:,7),y(:,8))
curtick = get(gca, 'xtick');
newlab = cellstr( num2str( curtick(:) ./ 24 ) );
set(gca, 'xticklabel', newlab)

and was error to show the graph.

??? Error using ==> plot
Data must be a single matrix Y or a list of pairs X,Y
Error in ==> ruunmodel at 5
plot(t(:,1), y(:,1),y(:,2),y(:,3),y(:,4),y(:,5),y(:,6),y(:,7),y(:,8))
??? Error using ==> plot
Data must be a single matrix Y or a list of pairs X,Y
Error in ==> ruunmodel at 5
plot(t(:,1), y(:,1),y(:,2),y(:,3),y(:,4),y(:,5),y(:,6),y(:,7),y(:,8))
Walter Roberson

Walter Roberson

on 20 May 2013
plot(t(:,1), y)

When you specify multiple numeric vector arguments for plot() you need to use the pattern x1 y1 x2 y2 x3 y3 ... Alternately you can use a common x, and specify the y as a matrix where the columns of y form the different lines. Your y(:,1), y(:,2) etc. are already columns in the "y" matrix, so you can give it as a single argument to draw all 8 of the columns.

Walter Roberson

Walter Roberson

Contact us