I am trying to recreat this plot
and I've got this
They are very close to each other, the only reason I can't get it is that I have a time step of 1 in my code.
When I try to change my time step from 1 to 0.1 in t = 0:1:tmax; my graph completely goes wild.
I would appreciate if someone could help me to solve this problem,
My code below.
clc;clear all;close all
tmax=25
t = 0:1:tmax;
speed0 = zeros(1,length(t));
speed1= @(t) 0.1553567*(t.^6) - 2.0416*(t.^5) + 9.1837*(t.^4) - 14.829*(t.^3) - 1.3703*(t.^2) + 32.821*(t) - 1.3155
speed2= @(t) 0.003980879*(t.^5) - 0.2247*(t.^4) + 4.8682*(t.^3) - 50.442*(t.^2) + 254.67*(t) - 430.66
speed3= @(t) -0.073*(t.^2) + 6.1802*(t) + 40.423
for n = 2:length(t);
if n<5
speed0(n) = speed1(n)
elseif n>5 && n < 15.4
speed0(n) = speed2(n)
else
speed0(n) = speed3(n)
end
end
plot(t,speed0);

 Respuesta aceptada

James Tursa
James Tursa el 5 de Nov. de 2020

1 voto

Your function handles are functions of t, so you need to be passing in t, not n. E.g.,
if t(n)<5
speed0(n) = speed1(t(n))
elseif t(n)>5 && t(n) < 15.4
speed0(n) = speed2(t(n))
else
speed0(n) = speed3(t(n))
end

Más respuestas (0)

Categorías

Más información sobre Programming en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Preguntada:

el 5 de Nov. de 2020

Respondida:

el 5 de Nov. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by