How do I get the plot for this code?

8 views (last 30 days)
Rava Sash
Rava Sash on 15 May 2018
Answered: Walter Roberson on 16 May 2018
I have used the trapetzoid rule. How do I get the plot for this code?
function T = time_to_destination(x,route, n)
load(route);
if x<0||x>distance_km(end)
error("Too big/small")
end
h=x/n;
j=1./(velocity(linspace(0,x,n+1), route));
T=0.5*h*(2*sum(j)-j(1)-j(end))
end
.
function v = velocity(x, route)
load speed_anna.mat;
d = distance_km;
y = speed_kmph;
dd=0:distance_km(end);
pp=spline(d,y);
v = ppval(pp, x);
plot(d,y,'ro');
hold on
h=fplot(@(x)ppval(pp,x),[d(1),d(end)], '- b')
hold off
if (x<0 | x>d(end))
error ('Fel')
end
end

Answers (2)

Rava Sash
Rava Sash on 16 May 2018
I meant trapezoidal rule* Can't anyone help me? Do I need to convert the vectors to a matrix? If so, how do I do that?
  2 Comments
Walter Roberson
Walter Roberson on 16 May 2018
Your code is pretty odd but it appears to already be plotting, so I do not understand the question.
Sample input would help.
Rava Sash
Rava Sash on 16 May 2018
I don't know why I put both the codes in, but I only want to plot the first function. Sorry for the confusion.

Sign in to comment.


Walter Roberson
Walter Roberson on 16 May 2018
It is difficult to guess what you want. Perhaps
function T = time_to_destination(x,route, n)
load(route);
if x<0||x>distance_km(end)
error("Too big/small")
end
h=x/n;
X = linspace(0,x,n+1);
j=1./(velocity(X, route));
T=0.5*h*(2*sum(j)-j(1)-j(end));
plot(X, j)

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!