how to plot two m.file in one plot

3 visualizzazioni (ultimi 30 giorni)
br
br il 18 Feb 2024
Commentato: br il 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

Risposta accettata

Dyuman Joshi
Dyuman Joshi il 18 Feb 2024
Call both the PDEs in a new script/function and plot accordingly.
  7 Commenti
Torsten
Torsten il 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
br
br il 19 Feb 2024
thanks a lot

Accedi per commentare.

Più risposte (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 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 Commento
br
br il 18 Feb 2024
thanks a lot, but each parameter x and u are in differant m.file how to combine them?

Accedi per commentare.

Prodotti


Release

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by