how to plot two m.file in one plot

3 views (last 30 days)
br
br on 18 Feb 2024
Commented: br on 19 Feb 2024
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
Torsten
Torsten on 18 Feb 2024
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

Sign in to comment.

More Answers (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 18 Feb 2024
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
br
br on 18 Feb 2024
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

Community Treasure Hunt

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

Start Hunting!