电机效率MAP图

直接使用contourf,需要有[X,Y] = meshgrid(x,y), 并用Z=f(X,Y)来生成Z轴。但是如果一开始Z轴坐标就不是x,y用函数生成的,而是有个默认的测试数据,又该如何用来画MAP图呢?

clc;clear;clf;
data_ECO= [];  //具体数值可以自己填,此处为转速,转矩,效率的N行三列矩阵。
SPD_ECO = data_ECO(:,1)';
TRQ_ECO = data_ECO(:,2)';
EFF_ECO = data_ECO(:,3)';

%num_levels = 15; % 例如设置15个等高线级别
%v = linspace(min(EFF_ECO), max(EFF_ECO), num_levels);//此处将这两行屏蔽,因为实际使用不如直接在clabel中指定[60,65,75,80,90,95]看起来效果好。

[X, Y] = meshgrid(min(SPD_ECO):1:max(SPD_ECO), min(TRQ_ECO):1:max(TRQ_ECO));  //也有将坐标间隔定的更小,例如0.1的,但是此处我尝试了0.1,0.2,0.5,发现因为我数据量较小,区别不大,遂选1。

% 使用griddata插值C到网格上
Z = griddata(SPD_ECO, TRQ_ECO, EFF_ECO, X, Y, 'natural');  //这里参数可以选择'natural','cubic','linear'等

% 使用contourf绘制等高线填充图
[ContourMatrix, hContour] = contourf(X, Y, Z);

hColorbar = colorbar;
caxis([min(EFF_ECO) max(EFF_ECO)]); % 设置颜色条的范围,比如0到100
clabel(ContourMatrix, hContour, [65,70,75,80,85,90,95], 'Color', 'k');
colormap(jet); % 或者可以选择其他颜色映射

xlabel('Speed (rpm)');
ylabel('Shifting Torque (Nm)');
title('Efficiency Map of economic model');
axis tight; % 使轴紧密地围绕数据

外特性曲线,对于电机而言,是恒定转速下的最大转矩值形成的曲线。

绘制MAP图时,以转速为横轴,以转矩为纵轴,则第一象限是电机正转驱动效率图,第四象限是电机正转时的发电效率MAP图,第二象限是电机反转时的发电效率MAP图,第三象限是电机反转时的驱动效率MAP图。即转矩、转速一致,为驱动状态,转矩转速相反为发电(能量回收)状态。

interp1
griddata
find ,替换值
图中放置文本
% 获取当前坐标轴的范围
ax = gca;
xlim = ax.XLim;
ylim = ax.YLim;

% 计算右上角的位置
xpos = xlim(2) - 0.1 * (xlim(2) - xlim(1)); % 在x轴方向留出一些空间
ypos = ylim(2) - 0.1 * (ylim(2) - ylim(1)); % 在y轴方向留出一些空间

% 在右上角添加文本
text(xpos, ypos, ‘这是右上角的文本’, ‘HorizontalAlignment’, ‘right’, ‘VerticalAlignment’, ‘top’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值