interp2 error non monotonus

1 vue (au cours des 30 derniers jours)
Harish Vernekar
Harish Vernekar le 22 Fév 2021
Commenté : Harish Vernekar le 23 Fév 2021
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 commentaires
Harish Vernekar
Harish Vernekar le 22 Fév 2021
Harish Vernekar
Harish Vernekar le 22 Fév 2021
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

Connectez-vous pour commenter.

Réponse acceptée

Bjorn Gustavsson
Bjorn Gustavsson le 22 Fév 2021
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 commentaire
Harish Vernekar
Harish Vernekar le 23 Fév 2021
thank you

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by