峰云 发表于 2021-12-27 11:32

电机效率map图边缘怎么变得顺滑?

请教用matlab做效率map的时候边缘怎么变得顺滑呢?脚本如下,数据如附件,还请不吝赐教,谢谢

A=xlsread('E:\eff6.xls');%读取文件数据,根据实际情况修改文件路径%
=size(A);%计算数据行列数%
x=A(:,1);%转速存入x向量%
y=A(:,2);%扭矩存入y向量%
z=A(:,3);%效率存入z向量%
=meshgrid(min(x):10:max(x),min(y):0.01:max(y));
EFFICIENCY=griddata(x,y,z,SPEED,TORQUE,'linear');
colormap(jet);
pcolor(SPEED,TORQUE,EFFICIENCY);
shading interp;             %使色彩平滑过渡
hold on;
=contourf(SPEED,TORQUE,EFFICIENCY,'LevelStep',0.01,'ShowText','on');
title('效率map');
xlabel('转速rpm');
ylabel('扭矩Nm');
hold on
speed_load=xlsread('E:\eff1.xls','sheet2','A1:A12');
tor_load=xlsread('E:\eff1.xls','sheet2','B1:B12');
plot(speed_load,tor_load,'black','linewidth',3);

Dwade3 发表于 2021-12-28 13:55

本帖最后由 Dwade3 于 2021-12-28 13:57 编辑

file=matlab.desktop.editor.getActiveFilename;
Apath=erase(file,'\T1.m');
data=;
A=xlsread(data);%读取文件数据,根据实际情况修改文件路径%
=size(A);%计算数据行列数%
x=A(:,1);%转速存入x向量%
y=A(:,2);%扭矩存入y向量%
z=A(:,3);%效率存入z向量%

% =griddata(x,y,z,linspace(min(x),max(x),900)',linspace(min(y),max(y),200),'cubic');%插值
=griddata(x,y,z,linspace(min(x),max(x),900)',linspace(min(y),max(y),200),'linear');%插值
pcolor(X,Y,Z);shading interp;%伪彩色图
% figure;
shading interp;
colormap("jet");
contourf(X,Y,Z,'LevelStep',0.01,'ShowText','on'); %等高线图
colorbar;

title('效率map-linear');
% title('效率map-cubic');
xlabel('转速rpm');
ylabel('扭矩Nm');




等高线不平顺是由于转速给的店太少,拟合的不好看,拟合的方法没什么问题

峰云 发表于 2021-12-29 14:56

Dwade3 发表于 2021-12-28 13:55
file=matlab.desktop.editor.getActiveFilename;
Apath=erase(file,'\T1.m');
data=; ...

谢谢,感觉用cubic插值的图好像会更好点
页: [1]
查看完整版本: 电机效率map图边缘怎么变得顺滑?