Scatter data interpolation of a column matrix

1 次查看(过去 30 天)
say I have two matrix
throttle =[ 1 2 3 4 5] ;
torque =[ 10 20 30 40 50
12 24 32 41 55
15 25 34 42 54
16 27 35 46 53
14 22 36 42 52
15 24 32 44 51] ;
I want to get throttle values at some specific torque position.
say the torque position points are [10.5;20.4;30.5;40.2;22.4;51.9]
How to do this with interpolation function, i am facing error during running the code
1.jpg
  3 个评论
Debanjan Maity
Debanjan Maity 2019-1-30
The code is following:
throttle= [0 2.5 5 10 15 20 30 40 50 60 65 70 75 80 90 100];
torque=yi;
torquei= rpm_new(:,4);
throttlei = zeros(3622,1) ;
for i = 1:3622
throttlei(i,:) = interp1(torque(i,:),throttle,torquei(i,:)) ;
end
The error is like following:
Error using griddedInterpolant
The grid vectors must contain unique points.
Error in interp1 (line 161)
F = griddedInterpolant(X,V,method);
Error in test_sch_shifting_map (line 64)
throttlei(i,:) = interp1(torque(i,:),throttle,torquei(i,:)) ;
I am also attaching the excel files.

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2019-1-30
编辑:Andrei Bobrov 2019-1-30
T = readtable('torque.xlsx','ReadV',0);
torquei = xlsread('torquei.xlsx');
throttle= [0 2.5 5 10 15 20 30 40 50 60 65 70 75 80 90 100];
T = T{:,:};
d = diff(T,1,2);
ad = cumsum(eps(1e3)*~[d,zeros(size(T,1),1)],2);
Tw = T + ad;
out = cellfun(@(x,y)interp1(x,throttle(:),y),num2cell(Tw',1),num2cell(torquei'));
  2 个评论
Debanjan Maity
Debanjan Maity 2019-1-30
Showing error
Undefined function or variable 'd'.
Error in Untitled (line 5)
ad = cumsum(eps(1e3)*~[d,zeros(size(T,1),1)],2);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Chassis Systems 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by