How do I interpolate a value from two sample vectors and two actual vectors?
이전 댓글 표시
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.
채택된 답변
추가 답변 (1개)
Adam
2015년 3월 16일
>> 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.
카테고리
도움말 센터 및 File Exchange에서 Interpolation에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!