How can i change values for my data in plot axis?
3 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
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)
See Also
Categories
Find more on Annotations in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!