如何画电机map图

发布时间 2023-12-05 15:41:41作者: havefun996
Torque = [0,40,80,120,140,150];%size(Torque)=Effiency的列数
Speed = [1000,2000,4000,5000,6000,7000,8000];%size(Speed)=Effiency的行数
%Effiency;%10行9列
Efficiency = [70,80,80,80,75,70;...
72,85,87,90,85,70;...
75,87,92,95,80,70;...
80,87,85,75,70,70;...
75,85,75,70,70,70;...
72,75,70,70,70,70;...
70,70,70,70,70,70]*0.01;
%Efficiency矩阵,一个转矩对应转速的效率按列写,写完所有转矩,完成Efficiency对应列数
[Torque,Speed]=meshgrid(Torque,Speed);%Torque,Speed向量变矩阵
[c,h]=contourf(Speed,Torque,Efficiency,[0.7 0.75 0.8 0.85 0.87 0.90 0.92]);%等高线函数contour,10条,c保存等高线数据
% clabel(c,h);%插入标签,打标签换成[0.7 0.75 0.8 0.85 0.87 0.90 0.92]
%插值法光滑曲线
a= linspace(0,150,50);%150Torque最大值
b = linspace(0,8000,50);%8000Speed最大值
[A, B] = meshgrid(a,b);%使用 meshgrid 函数将向量 a 和 b 中的值组合成了两个网格矩阵 A 和 B
C = interp2(Torque,Speed,Efficiency, A,B,'square');%二维数据插值的函数。它用于在一个规则网格上对二维数据进行插值,以估计在非网格位置上的值。
%'square'是插值方法中的一种
surf(B,A,C);
 
% %画三维图
% surf(Speed,Torque,Efficiency);
xlabel('Speed');
ylabel('Torque');
zlabel('Efficiency');