概述
做电动车经济性仿真时,我们必须用到电机效率Map。手里没有,怎么办?凭经验定义一个Map,再画出来吧。所以今天的内容来了:怎么用Matlab画一个实用而不失优美的电机效率呢?
有人喜欢二维Map,看着直观;有人喜欢三维Map,看着带感。不急,我们一个一个来。
怎么画二维电机效率Map?
首先,要有数据。凭着多年的工程经验,很容易造出一个电机效率数据,运行下图代码。
![a3d4a4f14a520fa03f2b8bd6e197ea32.png](https://file2.kaopuke.com:8081/files_image/20230513/a3d4a4f14a520fa03f2b8bd6e197ea32.png)
然后,我们开始画效率的等高线,这里会用到一个关键函数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的值。
接着运行下图代码:
![e5bad1cd46595fdf0ea665543ee06d8a.png](https://file2.kaopuke.com:8081/files_image/20230513/e5bad1cd46595fdf0ea665543ee06d8a.png)
其中clabel用于给等高线插入标签,一般与contour配合使用。运行完代码后可以得到以下结果:
![76794b8dd0386884d49972e7f5da02dc.png](https://file2.kaopuke.com:8081/files_image/20230513/76794b8dd0386884d49972e7f5da02dc.png)
电机效率Map的基本样子出来了,但是看起来感觉有些不舒服,小数点后面都到6位了,能不能只保留两位小数?
于是,我们换了一种打标签的方式。
运行以下代码:
![7be3cc848ed0548512427254b93064f6.png](https://file2.kaopuke.com:8081/files_image/20230513/7be3cc848ed0548512427254b93064f6.png)
得到下面的结果:
![54f08be3b48d823efb0ad76b03a79d9c.png](https://file2.kaopuke.com:8081/files_image/20230513/54f08be3b48d823efb0ad76b03a79d9c.png)
小数点后面的位数变少了,舒服了一些。不过好像还是缺点什么,别人的图都是渐变颜色的,我们怎么能没有呢?
于是,我们又换了一个更牛逼的函数contourf,它自带光环。运行以下代码:
![4d405b76e9a4b5cbf59fb7c68af4ca7f.png](https://file2.kaopuke.com:8081/files_image/20230513/4d405b76e9a4b5cbf59fb7c68af4ca7f.png)
得到下面的结果:
![1f208b4d1c392c29c93d5c69457e67e4.png](https://file2.kaopuke.com:8081/files_image/20230513/1f208b4d1c392c29c93d5c69457e67e4.png)
渐变颜色出来了,可以打开edit菜单下的Colormap功能,把填充颜色调整的更好看一些。再把外特性曲线和坐标轴加上,二维的电机效率Map就基本可以了。
![3f55a921ebf65d4a4ab3b751889e64dc.png](https://file2.kaopuke.com:8081/files_image/20230513/3f55a921ebf65d4a4ab3b751889e64dc.png)
怎么画三维电机效率Map?
画三维Map的核心函数是surf。
Surf(X,Y,Z),X、Y、Z分别表示X轴数值、Y轴数值、Z轴数值。需要注意的是,X、Y、Z三个矩阵必须维度相同。
运行以下代码:
![7b6762c5b40aa37cd5673baa33095941.png](https://file2.kaopuke.com:8081/files_image/20230513/7b6762c5b40aa37cd5673baa33095941.png)
得到下面的三维图:
![178a6c6c1e0b3610797d23146ca2aaf8.png](https://file2.kaopuke.com:8081/files_image/20230513/178a6c6c1e0b3610797d23146ca2aaf8.png)
曲线不太光滑,看起来不是太友好。因为我们给的数据点太少,所以这里考虑用差值来解决,使曲线变得更加光滑。
运行以下代码:
![9a64f8b8158180710e9898630584d182.png](https://file2.kaopuke.com:8081/files_image/20230513/9a64f8b8158180710e9898630584d182.png)
再手动调整下颜色就可以得到下面的三维图,效果还可以,具体如下图。
![49a890ea0f9fc1c2dc8c0bc8f2b29c02.png](https://file2.kaopuke.com:8081/files_image/20230513/49a890ea0f9fc1c2dc8c0bc8f2b29c02.png)
以上,介绍了怎么用MATLAB画二维和三维电机效率map,你学会了吗?
欢迎关注新能源汽车控制,正经的工程师,只有原创!
最后
以上就是威武大门为你收集整理的c++map的使用_怎么用Matlab画一个优美的电机效率Map?怎么画二维电机效率Map?怎么画三维电机效率Map?的全部内容,希望文章能够帮你解决c++map的使用_怎么用Matlab画一个优美的电机效率Map?怎么画二维电机效率Map?怎么画三维电机效率Map?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复