How do I interpolate a value from two sample vectors and two actual vectors?
Mostrar comentarios más antiguos
I have a torque curve per rpm in two vectors:
rpm: 1250 1500 1750 2000 2500 3000 3500 4000 4500 5000 5500 6000
and torque: 194 259 325 383 420 420 413 410 395 383 343 275
So each vector is length 12. I also have real-time data in the form of two very long vectors giving rpm (rpm) and percent load (pctload).
I need to interpolate the actual, real-time torque value by multiplying the torque at that rpm(in the torque curve) by the percent load.
I have a feeling this can be done with the interp2 function, but am having trouble.
Any suggestions? clarification needed?
Thank you in advance.
Respuesta aceptada
Más respuestas (1)
Adam
el 16 de Mzo. de 2015
>> g = griddedInterpolant( rpm, torque );
>> g( 1777 )
ans =
331.264
should do the trick. There are numerous interpolation methods that will probably work too - interp1 probably, but your interpolation is 1d not 2d unless I am misunderstanding the problem.
The value coming from the griddedInterpolant function g above is your interpolated RPM which you can then match to your pctload.
1 comentario
Alan Gallagher
el 16 de Mzo. de 2015
Categorías
Más información sobre Interpolation en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!