2 views (last 30 days)

Show older comments

i want the graph to be continous. However, it is breaking form point 7 to 8 (t=7 to t=8).

as you can see from the function, at first it is a polynomial and after that it is linear, it is not taking 7 as a common point.

How can i fix that ??

.

Rik
on 9 Aug 2021

You can also let Matlab do the heavy lifting by creating an anonymous function and using fplot:

a=8.4;

v=58.8;

fun=@(t) 0 + ...

(t<=7).*(0.5*a.*(t.^2)) + ...

(t>7).*(v.*t);

fplot(fun,[0 30])

However, if you want to make the transition smooth, you will have to adjust a or v:

t=7;

[0.5*a.*(t.^2) v.*t]

To make those equal for some value of t, this relation must hold:

0.5*a.*(t.^2)==v.*t

a*t^2=2vt

at=2v

t=2v/a

If you want t=7, that means

7=2v/a ==> v=7a/2 ==> v=29.4

Now lets plot that one instead:

v=29.4;

fun=@(t) 0 + ...

(t<=7).*(0.5*a.*(t.^2)) + ...

(t>7).*(v.*t);

fplot(fun,[0 30])

Wan Ji
on 9 Aug 2021

It may work if you do by following Scott MacKenzie's advice or maybe you can do like this

t = [0:1:6, 6.01:0.01:6.99, 7:1:30];

This would make your curve more smooth then.

Wan Ji
on 9 Aug 2021

When t = 7, y encounters a gap. So a possible way is just to calculate them both and then to compare them.

a = 8.4; v = 58.8; t=0:0.1:30;

x1 = 0.5*a*t.^2; x2 = v*t;

q = x1<x2;

x = x1.*q + x2.*~q;

plot(t,x)

Scott MacKenzie
on 9 Aug 2021

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

Start Hunting!