How to add another scenario to my code?
Mostrar comentarios más antiguos
I am struggling to include a scenario to my code.
This is the original code
clear; clc;
y0=[5, 120, 120]; %input problems specification
t=linspace(0,100,101); %Generate the value of t sing linspace
%Call ode45 and store solution in soln
[t, y]=ode45(@f,t,y0,odeset('RelTol', 1.E-6, 'AbsTol', 1.E-6, 'PelTol));
% y1=deval(t,soln)); %Retieve value of y(1) from soln Scenario 2
% y2=deval(t,soln)); %Scenario 1
plot(t,y(:,2),'r',t,y(:,3),'b','Linewidth',2);
xlabel ('t (min)'); ylabel('Outlet Temp (deg C)');
legend('Scenario 2', 'Scenario 1');
grid on; %Add grid to plot
title('ode45 S2'); %Add title to plot
%
%User specified function for dydt for each dependent variable
%
function dydt=f(t,y)
V=30; p=62.4; Tin=60; F=5; Q=1000; tauTs=1.25; tauTv=.17;
dydt(1)=(5-y(1))/tauTv;
dydt(2)=((p*F*(1))*(Tin-y(2))+Q)/(p*V*(1));
dydt(3)=(y(2)-y(3))/tauTs;
dydt=dydt'
it gives me two lines in one graph. I'd like to add another scenario to it. This is the code I wish to incorporate somehow
s3=[]; theta=1;
for j=1:length(s2)
if (t-theta)<=0
s3(j)=s2(0)
else
s3(j)=s2(t-theta)
end
end
4 comentarios
Walter Roberson
el 14 de Oct. de 2021
for j=1:length(s2)
Is s2 a variable, or is it a non-anonymous function that can be invoked with no parameters, after which you would be taking length() of the result returned by function s2 ?
s3(j)=s2(0)
if s2 is a variable then you cannot index it at 0.
Have you considered
s3 = zeros(size(t));
s3(1:theta) = s2(1);
s3(theta+1:end) = s2(1:end-theta);
Rebecca Reyes
el 15 de Oct. de 2021
Editada: Rebecca Reyes
el 15 de Oct. de 2021
Rebecca Reyes
el 15 de Oct. de 2021
Walter Roberson
el 15 de Oct. de 2021
The code I showed should work for nonnegative integer theta. It would need some adjustments for negative delay or non-integer delay
Respuestas (0)
Categorías
Más información sobre Programming en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!