Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
matlab绘制电机map图_电机效率map图,希望能够帮助你!!!。
做电动车经济性仿真时,我们必须用到电机效率Map。手里没有,怎么办?凭经验定义一个Map,再画出来吧。所以今天的内容来了:怎么用Matlab画一个实用而不失优美的电机效率呢?
有人喜欢二维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的核心函数是surf。
Surf(X,Y,Z),X、Y、Z分别表示X轴数值、Y轴数值、Z轴数值。需要注意的是,X、Y、Z三个矩阵必须维度相同。
运行以下代码:
得到下面的三维图:
曲线不太光滑,看起来不是太友好。因为我们给的数据点太少,所以这里考虑用差值来解决,使曲线变得更加光滑。
运行以下代码:
再手动调整下颜色就可以得到下面的三维图,效果还可以,具体如下图。
以上,介绍了怎么用MATLAB画二维和三维电机效率map,你学会了吗?
欢迎关注新能源汽车控制,正经的工程师,只有原创!
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章