Spline and interpolation?

(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

 采纳的回答

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 个)

Image Analyst
Image Analyst 2018-4-22

0 个投票

You need to use v inside your function. Please see attached spline demo.

类别

帮助中心File Exchange 中查找有关 Splines 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by