做电动车经济性仿真时,我们必须用到电机效率Map。手里没有,怎么办?凭经验定义一个Map,再画出来吧。所以今天的内容来了:怎么用Matlab画一个实用而不失优美的电机效率呢?
有人喜欢二维Map,看着直观;有人喜欢三维Map,看着带感。不急,我们一个一个来。
怎么画二维电机效率Map?
首先,要有数据。凭着多年的工程经验,很容易造出一个电机效率数据,运行下图代码。

然后,我们开始画效率的等高线,这里会用到一个关键函数contour。
[c,h]=contour(X,Y,Z,n),X、Y、Z分别表示横轴数值、纵轴数值、对应高度的数值,n用于定义等高线的数量,C用于保存等高线的数据,h是等高线的句柄。需要注意的是,X、Y、Z三个矩阵必须维度相同。
所以需要对上面的TrqEff、SpdEff做处理,让他们从向量变为矩阵,便于后面contour调用,这里会用到函数meshgrid。
[X,Y] = meshgrid(x,y),X的每一行数值都等于x的值,Y的每一列数值都等于y的值。
接着运行下图代码:

其中clabel用于给等高线插入标签,一般与contour配合使用。运行完代码后可以得到以下结果:

电机效率Map的基本样子出来了,但是看起来感觉有些不舒服,小数点后面都到6位了,能不能只保留两位小数?
于是,我们换了一种打标签的方式。
运行以下代码:

得到下面的结果:

小数点后面的位数变少了,舒服了一些。不过好像还是缺点什么,别人的图都是渐变颜色的,我们怎么能没有呢?
于是,我们又换了一个更牛逼的函数contourf,它自带光环。运行以下代码:

得到下面的结果:

渐变颜色出来了,可以打开edit菜单下的Colormap功能,把填充颜色调整的更好看一些。再把外特性曲线和坐标轴加上,二维的电机效率Map就基本可以了。

怎么画三维电机效率Map?
画三维Map的核心函数是surf。
Surf(X,Y,Z),X、Y、Z分别表示X轴数值、Y轴数值、Z轴数值。需要注意的是,X、Y、Z三个矩阵必须维度相同。
运行以下代码:

得到下面的三维图:

曲线不太光滑,看起来不是太友好。因为我们给的数据点太少,所以这里考虑用差值来解决,使曲线变得更加光滑。
运行以下代码:

再手动调整下颜色就可以得到下面的三维图,效果还可以,具体如下图。

以上,介绍了怎么用MATLAB画二维和三维电机效率map,你学会了吗?
欢迎关注新能源汽车控制,正经的工程师,只有原创!
最后
以上就是威武大门最近收集整理的关于c++map的使用_怎么用Matlab画一个优美的电机效率Map?怎么画二维电机效率Map?怎么画三维电机效率Map?的全部内容,更多相关c++map内容请搜索靠谱客的其他文章。
发表评论 取消回复