Subplot in ODE45

2 vues (au cours des 30 derniers jours)
Hüseyin Cagdas Yatkin
Hüseyin Cagdas Yatkin le 26 Nov 2019
Hi guys, I try to subplot with changing 'd' value. How should I do it?
function hw5q2b
ode45(@b2,[0 2],[130 10 5]);
xlabel('time (mins)')
ylabel('concentration (mg/L)')
end
function y = b2(~,C)
k1 = 0.56; %1/h
k2 = 0.28; %1/h
Q = 300/1000; %m^3/h-Flowrate
d = [0.20 0.30 0.50]; % m, given diameters
for i = 1:length(d)
A = pi*(d(i)^2); %m^2, area
v = Q/A ; %m/h
y(1) = -(k1*C(1))/v;
y(2) = (k1*C(1)-k2*C(2))/v;
y(3) = (k2*C(2))/v;
y = y(:);
end
end

Réponse acceptée

Stephan
Stephan le 26 Nov 2019
Modifié(e) : Stephan le 26 Nov 2019
d = [0.20 0.30 0.50];
for ii = 1:numel(d)
sol(ii)=ode45(@(t,C)b2(t,C,d(ii)),[0 2],[130 10 5]);
t{:,ii}=sol(ii).x';
y{:,:,ii}=sol(ii).y';
subplot(3,1,ii)
plot(t{:,ii},y{:,:,ii})
end
function y = b2(~,C,d)
k1 = 0.56; %1/h
k2 = 0.28; %1/h
Q = 300/1000; %m^3/h-Flowrate
A = pi*d^2; %m^2, area
v = Q/A ; %m/h
y(1) = -(k1*C(1))/v;
y(2) = (k1*C(1)-k2*C(2))/v;
y(3) = (k2*C(2))/v;
y = y(:);
end

Plus de réponses (1)

Hüseyin Cagdas Yatkin
Hüseyin Cagdas Yatkin le 27 Nov 2019
Thanks a lot! It will be very helpful.

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by