how to solve "error using griddata" in order to plot an efficiency map

3 次查看(过去 30 天)
hello i'm trying to plot an efficiency map of a motor using vectors of torque and speed and their corresponding efficiencies obtained from some measurments is it possible to plot efficiency map with this?
ps: the vectors are loaded from an excel file
I'm trying to plot somthing similar with this script
x0=min(speedRPM); x1=max(speedRPM); nx=100;
y0=min(TorqueNm); y1=max(TorqueNm); ny=100;
x=linspace(x0,x1,nx);
y=linspace(y0,y1,ny);
[X,Y]=meshgrid(x,y);
Z=griddata(speedRPM,TorqueNm,EffeciencyPer,X,Y);
contourf(X,Y,Z);
colorbar;
But when i run it it shows me this error
>> efficiencymap
Error using griddata (line 110)
X and Y must be same length as Z or the lengths of X and Y must match the size of Z.
could you help ?
  2 个评论
DGM
DGM 2021-5-11
编辑:DGM 2021-5-11
The error message says there's a problem with the size or orientation of arrays, but nobody can know how your arrays are sized or oriented unless you tell us.
% test arrays have corresponding size
speedRPM = 1:200; % 1x200
TorqueNm = 1:100; % 1x100
EffeciencyPer = speedRPM + TorqueNm'; % 100x200
% all this code runs just fine with test arrays
x0=min(speedRPM); x1=max(speedRPM); nx=100;
y0=min(TorqueNm); y1=max(TorqueNm); ny=100;
x=linspace(x0,x1,nx);
y=linspace(y0,y1,ny);
[X,Y]=meshgrid(x,y);
Z=griddata(speedRPM,TorqueNm,EffeciencyPer,X,Y);
contourf(X,Y,Z);
colorbar;

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2021-5-11
编辑:Walter Roberson 2021-5-11
% test arrays have corresponding size
speedRPM = 1:200; % 1x200
TorqueNm = 1:100; % 1x100
EffeciencyPer = speedRPM + TorqueNm'; % 100x200
% all this code runs just fine with test arrays
x0=min(speedRPM); x1=max(speedRPM); nx=100;
y0=min(TorqueNm); y1=max(TorqueNm); ny=100;
x=linspace(x0,x1,nx);
y=linspace(y0,y1,ny);
[X,Y] = meshgrid(x,y);
F = scatteredInterpolant(speedRPM, TorqueNm, EfficiencyPer);
Z = F(X, Y);
contourf(X, Y, Z.'); %probably Z.', perhaps Z instead
  4 个评论
wafa mezzi
wafa mezzi 2021-5-12
thank you so much !
but could you explain how you solved this issue please just in case i get new arrays for new measurments how to determine their sizes in order to avoid this error repeating
Walter Roberson
Walter Roberson 2021-5-12
You do not need to determine their size. nx and ny are arbitrary; the higher they are, the smoother the plot will be, but the longer it will take to compute.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Time Series Events 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by