interp2 error non monotonus

1 回表示 (過去 30 日間)
Harish Vernekar
Harish Vernekar 2021 年 2 月 22 日
コメント済み: Harish Vernekar 2021 年 2 月 23 日
Hello i am facing problem with interp2
i have rpm , torque , efficiency values of motor i need to get eff using interp2
for i=1
torque_motor=data(:,1);
rpm_motor=rpm;
eff_motor=data;
end
for i=1:1:length(torque_motor)
for j=1:1:length(rpm_motor)
for k=1:1:length(data)
temp1=find(torque_motor(:,k)==torque_array(i));
temp2=find(rpm_motor(:,k)==rpm_array(j));
[val,pos]=intersect(temp1,temp2);
eff_epk=column_eff(val)
i=i+1
j=j+1
k=k+1
end
end
end
end
eff_epk
[ttorque,rrpm]=meshgrid(torque_array,rpm_array)
ttorque=ttorque';
rrpm=rrpm';
for i=1:length(t)
EPK_operating=interp2(rrpm,ttorque,eff_epk,Nm,tm)
end
  4 件のコメント
Harish Vernekar
Harish Vernekar 2021 年 2 月 22 日
Harish Vernekar
Harish Vernekar 2021 年 2 月 22 日
here is the data we have rpm on x axis and torque on y axis i have to interpolate a look up table to get the values for the calculated torque and RPM values

サインインしてコメントする。

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2021 年 2 月 22 日
It should (big claim, I know) be as simple as:
torque = data(2:end,1);
rpm = data(1,2:end);
eff_epk = data(2:end,2:end);
Nm = [2^.5 exp(-1), pi, exp(2)]; % You'll have more sensible parameters here...
tm = [3 30 300 3000];
EPK_operating=interp2(rrpm,ttorque,eff_epk,Nm,tm);
HTH
  1 件のコメント
Harish Vernekar
Harish Vernekar 2021 年 2 月 23 日
thank you

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by