How can i change values for my data in plot axis?

5 views (last 30 days)
Hello everyone,
i think first i will show you my Matlab code and plot and then i can ask my question;
clc; clear
k=0.5;rho=2023;cv=1825; aLf=k/(rho*cv);L=0.25;
nx=10; nxp=nx+1; dx=L/nx; td=12*3600;
nt=60;ntp=nt+1;dt=td/nt; Ts=20;Ti=10;
t=linspace(0,td,ntp);x=linspace(0,L,nxp);
depth(1)=0;T=zeros(1,ntp);
Tx(1)=Ts;T(1)=Ti;
for j=2:nxp
depth(j)=(j-1)*dx;
for it=1:ntp
time(it)= (it)*dt;
Tx=Ts+((Ti-Ts)*(erf(depth(j)/(2*sqrt(aLf*(t(it)))))));
T(it)=Tx;
end
plot(t,T); hold on; xlabel('time (t)');
ylabel('Surface Temperature(Ts)')
end
i have two questions
1. In the X-axis, the time is shown in seconds because the formulas work in second but I have to show the x-axis as per hour so basically I need the x-axis as 1 2 3 .. 12 instead of 1x10^4.
2. then I need to label each curve.
Thanks in advance for help.

Accepted Answer

Shoaibur Rahman
Shoaibur Rahman on 28 Dec 2014
Replace t in plot by t/3600, that converts t from second to hour
Add a text command with appropriate coordinate of the location of curve labels. I keep that at the end of each curve. Also name your curve as required; I use the curve 1, curve 2... To make the curves' labels more inside the plot, define xlim.
plot(t/3600,T); hold on; xlabel('time (t)'); ylabel('Surface Temperature(Ts)')
text(t(end)/3600,max(T),['curve',num2str(j-1)])
xlim([0 14])

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!