how can i put two graph into one?

1 次查看(过去 30 天)
Khuram
Khuram 2014-12-30
hello everyone; I am trying to put the bottom two graph into one but the first graph is should be until 6 and then the next one start, but the first one expand to 12, can someone help me please, thanks
here's my code and graph
clc; clear
k=0.5; rho=2023;cv=1825; aLf=k/(rho*cv);
L=0.25;nx=5; nxp=nx+1; dx=L/nx;
td=6*3600; %day time
tn=18*3600; %night time
Tt=td+tn;nt=60;ntp=nt+1;nTp=2*ntp;
dtd=td/nt;
dtn=tn/nt;
Tsd=20;Tsn=0; Ti=10;
tday=linspace(0,td,ntp); tnight=linspace(0,tn,ntp);
y=linspace(0,Tt,nTp);
T1=zeros(1,ntp);T2=zeros(1,ntp);
T1(1)=Ti;Tni=zeros(1,nxp); Tnii=zeros(1,nxp);
for i=1:nxp
depth(i)=i*dx;
for j=1:ntp
time(j)= j*dtd;
Tx=Tsd+((Ti-Tsd)*(erf(depth(i)/(2*sqrt(aLf*(time(j)))))));
T1(j)=Tx;
T1M(i,:) = T1;
end
Tni(i)=Tx;
for k=1:ntp
time2(k)= k*dtn;
Ty=Tsn+((Tni(i)-Tsn)*(erf(depth(i)/(2*sqrt(aLf*(time2(k)))))));
T2(k)=Ty;
T2M(i,:) = T2;
end
T=[T1M T2M];
%plots
subplot(223);
plot(tday/3600,T1,'linewidth',2); hold on; xlabel('time (hours)'); ylabel('Temperature(Tx)');grid on
xlim([0 7])
subplot(224);
plot(tnight/3600,T2,'linewidth',2); hold on; xlabel('time (t)'); ylabel('Temperature(Tx)');grid on
xlim([0 19])
subplot(211);
plot(y/3600,T,'linewidth',2); hold on; xlabel('time (hours)'); ylabel('Temperature(Tx)');grid on
xlim([0 25])
end
can someone help me please, thanks

回答(1 个)

Image Analyst
Image Analyst 2014-12-30
I have no idea what this means: "the first graph is should be until 6 and then the next one start, but the first one expand to 12," WHAT should be until 6 and WHAT's expanding until 12? Are you talking about the x or y axis and in which of the 3 subplots?
Why don't you just not call subplot the last time and call "hold on" if you want things plotted on the same plot/graph/axis?
  4 个评论
Khuram
Khuram 2014-12-31
i want the subplot(211) give me exactly same as the 2 lower plots, so the first curve(in subplot(211)) should finish at 6 and then the next curve start from 6 to 24.
Image Analyst
Image Analyst 2015-1-1
It's kind of confusing - all those T's. And the last T you plot in the top plot is actually 6 curves already while the other two are just single curves. But I did my best and this is what I got.
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
% clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
k=0.5;
rho=2023;
cv=1825;
aLf=k/(rho*cv);
L=0.25;
nx=5;
nxp=nx+1;
dx=L/nx;
td=6*3600; %day time
tn=18*3600; %night time
Tt=td+tn;
nt=60;
ntp=nt+1;
nTp=2*ntp;
dtd=td/nt;
dtn=tn/nt;
Tsd=20;
Tsn=0;
Ti=10;
tday=linspace(0,td,ntp);
tnight=linspace(0,tn,ntp);
y=linspace(0,Tt,nTp);
T1=zeros(1,ntp);
T2=zeros(1,ntp);
T1(1)=Ti;
Tni=zeros(1,nxp);
Tnii=zeros(1,nxp);
for i=1:nxp
depth(i)=i*dx;
for j=1:ntp
time1(j)= j*dtd;
Tx=Tsd+((Ti-Tsd)*(erf(depth(i)/(2*sqrt(aLf*(time1(j)))))));
T1(j)=Tx;
T1M(i,:) = T1;
end
Tni(i)=Tx;
for k=1:ntp
time2(k)= k*dtn;
Ty=Tsn+((Tni(i)-Tsn)*(erf(depth(i)/(2*sqrt(aLf*(time2(k)))))));
T2(k)=Ty;
T2M(i,:) = T2;
end
T=[T1M T2M];
% Plots
% Get random color
thisColor = rand(1, 3)
% Plot lower left plot.
subplot(223);
x1 = tday/3600;
plot(x1, T1, 'linewidth', 2, 'Color', thisColor);
if i == 1
xlabel('Time (hours)', 'FontSize', fontSize);
ylabel('Temperature (Tx)', 'FontSize', fontSize);
grid on
xlim([0 7]);
hold on;
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
end
% Plot lower right plot.
subplot(224);
x2 = tnight/3600;
plot(x2, T2, 'linewidth', 2, 'Color', thisColor);
if i == 1
hold on;
xlabel('Time (hours)', 'FontSize', fontSize);
ylabel('Temperature (Tx)', 'FontSize', fontSize);
grid on
xlim([0 19]);
end
% Plot upper/top plot.
subplot(211);
x3 = [x1, x2+x1(end)];
plot(x3, T(i,:), 'linewidth', 2, 'Color', thisColor);
if i == 1
hold on;
xlabel('Time (hours)', 'FontSize', fontSize);
ylabel('Temperature (Tx)', 'FontSize', fontSize);
grid on
xlim([0 25]);
end
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by