how to plot two m.file in one plot

i have two PDE each one i calculated in m.file, but i want to draw the output of first one as x, and the second as y
how can i do that

 Accepted Answer

Dyuman Joshi
Dyuman Joshi on 18 Feb 2024
Call both the PDEs in a new script/function and plot accordingly.

7 Comments

i write it like this but it's not work, and also it's not seems to be right
kp0=140270;
Eap=43900;
kd0=0.355;
Ead=17400;
T=333;
kp=kp0*exp(-Eap/(8.314*T));
kd=kd0*exp(-Ead/(8.314*T));
m=2;
t=linspace(0,3600,1000);
u=linspace(0.036405,111.3494528,1000);
x=linspace(0,0.036405,1000);
x1=pdepe(m,@(x,t,u,DuDx)eqn111(x,t,u,DuDx,T),@initial111,@(xl,ul,xr,ur,t)bc111(xl,ul,xr,ur,t,kp,kd),u,t);
u1=pdepe(m,@(x,t,u,DuDx)eqn11(x,t,u,DuDx,T),@initial11,@(xl,ul,xr,ur,t)bc11(xl,ul,xr,ur,t,kp,kd),x,t);
t_indices = find(t >= 0 & t <= 3600);
figure
hold on
for j = t_indices
plot(x1(j,:),u(j,:));
hold off
end
xlabel('radius');
ylabel('concentration');
"i write it like this but it's not work, and also it's not seems to be right"
Please specify how it is not working.
Why does it not seem right?
it's give me an error
Please share -
1 - the full error message i.e. all of the red text.
2 - the PDE files (eqn111, initial111 and eqn11, initial11). Use the paperclip button to attach.
Error using pdepe
The entries of XMESH must be strictly increasing.
Error in runnnn (line 11)
for u=pdepe(m,@(x,t,u,DuDx)eqn11(x,t,u,DuDx,T),@initial11,@(xl,ul,xr,ur,t)bc11(xl,ul,xr,ur,t,kp,kd),x,t);
function [c,f,s]=eqn111(x,t,u,DuDx,T)
c=1;
f=(1.34*10^-7)*exp(-16000/(8.314.*T))*exp(-(0.57*1.225+0.43*1.005*0.524)/(0.57*2.91*(-8.675+T)+0.43*0.5*(-205+T)))*DuDx;
s=0;
end
----------------------------------------------------------------------------------------
function value=initial11(x)
value=0;
-----------------------------------------------------------------------------
function [c,f,s]=eqn11(x,t,u,DuDx,T)
c=1;
f=(1.34*10^-6)*exp(-16000/(8.314.*T))*exp(-(0.57*1.225+0.43*1.005*0.524)/(0.57*2.91*(-8.675+T)+0.43*0.5*(-205+T)))*DuDx;
s=0;
end
------------------------------------------------------------------------------
function value=initial11(u)
value=0.036405;
Please include the complete code with error message that demonstrates the problem you have.
The functions you provided don't suffice and some are duplicates.
kp0=140270;
Eap=43900;
kd0=0.355;
Ead=17400;
T=333;
kp=kp0*exp(-Eap/(8.314*T));
kd=kd0*exp(-Ead/(8.314*T));
m=2;
t=linspace(0,3600,1000);
u=linspace(0.036405,111.3494528,1000);
x=linspace(0,0.036405,1000);
x1=pdepe(m,@(x,t,u,DuDx)eqn111(x,t,u,DuDx,T),@initial111,@(xl,ul,xr,ur,t)bc111(xl,ul,xr,ur,t,kp,kd),u,t);
u1=pdepe(m,@(x,t,u,DuDx)eqn11(x,t,u,DuDx,T),@initial11,@(xl,ul,xr,ur,t)bc11(xl,ul,xr,ur,t,kp,kd),x,t);
t_indices = find(t >= 0 & t <= 3600);
figure
hold on
for j = t_indices
plot(x1(j,:),u(j,:));
hold off
end
xlabel('radius');
ylabel('concentration');
function [c,f,s]=eqn111(x,t,u,DuDx,T)
c=1;
f=(1.34*10^-7)*exp(-16000/(8.314.*T))*exp(-(0.57*1.225+0.43*1.005*0.524)/(0.57*2.91*(-8.675+T)+0.43*0.5*(-205+T)))*DuDx;
s=0;
end
%----------------------------------------------------------------------------------------
function value=initial11(x)
value=0;
end
%-----------------------------------------------------------------------------
function [c,f,s]=eqn11(x,t,u,DuDx,T)
c=1;
f=(1.34*10^-6)*exp(-16000/(8.314.*T))*exp(-(0.57*1.225+0.43*1.005*0.524)/(0.57*2.91*(-8.675+T)+0.43*0.5*(-205+T)))*DuDx;
s=0;
end
%------------------------------------------------------------------------------
function value=initial11(u)
Function 'initial11' has already been declared within this scope.
value=0.036405;
end
thanks a lot

Sign in to comment.

More Answers (1)

use plot(x, y), e.g.:
x = [-5:5;2*(-5:5); 3*(-5:5)];
y = [3*x.^2+3*x-3; -5*x.^2+5*x-15; -2*x.^2-3*x-13;];
plot(x(1,:),y(1,:), 'ro-', x(2,:),y(2,:), 'kp:', x(3,:),y(3,:), 'b--', 'LineWidth', 2)
grid on
xlabel ('x')
ylabel ("y(x)")
legend('Set 1', 'Set 2', 'Set 3', 'Location', 'Best')

1 Comment

thanks a lot, but each parameter x and u are in differant m.file how to combine them?

Sign in to comment.

Products

Release

R2023b

Asked:

br
on 18 Feb 2024

Commented:

br
on 19 Feb 2024

Community Treasure Hunt

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

Start Hunting!