Spline and interpolation?

3 views (last 30 days)
Rava Sash
Rava Sash on 22 Apr 2018
Commented: Rava Sash on 22 Apr 2018
(I'm very new to programming). I want my code to give me the consumption for every speed. So when I for example write consumption(40) in the command window it gives me the consumption for when the speed is 40 km/h.
This is my code so far:
function c = consumption(v)
load roadster.mat;
x = 2:2:200;
y = consumption_Whpkm;
xx=2:200;
pp=spline(x,y,xx);
plot(xx,spline(x,y,xx),'k-',x,y,'ro')
end

Accepted Answer

Ameer Hamza
Ameer Hamza on 22 Apr 2018

You are not using input variable v and assigning a value to output variable c inside the function body. From the context of your question, the correct function definition is

function c = consumption(v)
  load roadster.mat;
  x = 2:2:200;
  y = consumption_Whpkm;
  xx=2:200;
  pp=spline(x,y);
  plot(xx, ppval(pp, xx),'k-',x,y,'ro');
  c = ppval(pp, v);  % assigning value to output for input v
end
  1 Comment
Rava Sash
Rava Sash on 22 Apr 2018
Thank you! I understand my mistake :)

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 22 Apr 2018
You need to use v inside your function. Please see attached spline demo.

Community Treasure Hunt

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

Start Hunting!