如何用matlab绘制电机效率map图或发动机万有特性曲线_matlab画电机效率map

2020-02-29 其他范文 下载本文

如何用matlab绘制电机效率map图或发动机万有特性曲线由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“matlab画电机效率map”。

如何用matlab绘制电机效率map图或发动机万有特性曲线

前段时间写论文,需要绘制电机效率map图,其实和发动机万有特性曲线一样。

看了好多资料都不会,问问师兄也没具体画过。困惑中查到貌似有几个软件可以画map图,由于我比较熟悉matlab,就选用它了,可是matlab也不知道咋画呀,我查看了matlab图形处理这一块,突然发现等高线图绘制,咦???这不就是高中地理学的吗???和map图万有特性图本质一样吗???就是contour函数啦,惊喜万分

5.2.13 等值线图

等值线图可用于绘制地理数据中的等高图、气象数据中的等势图等。等值线图在二维图形中把第三维中相同大小的数据连接为等值线,一定程度上可以表示第三维的信息,同时等值线图相比三维图更容易观察数据之间的关系,被广泛的应用于各个领域。

MATLAB中提供了一系列的函数用于绘制不同形式的等高线图,其中包括: 1.contour()函数

contour()函数可用于绘制二维等值线图,函数的调用格式为:

 contour(z):输入数据z为二维矩阵,绘制数据z的等值线,绘图时等值线的数量和数值根据矩阵z的数据范围自动确定。

 contour(z,n):绘制等值线图,设置等值线数目为n。

 contour(z,v):绘制等值线图,向量v设置等值线的数值。

 contour(x,y,z):绘制矩阵z的等值线图,输入参数x、y用于指定绘制的等值线图的坐标轴数据,同时输入数据x、y、z必须为大小相等的矩阵。 contour(x,y,z,n):为指定坐标轴的等值线图设置等值线的数目n。 contour(x,y,z,v):为指定坐标轴的等值线图设置等值线的数值v。 contour(...,LineSpec):输入参数LineSpec用于设置等值线的线型。 [c,h] = contour(...):返回contour()函数绘制的等高线图中的等值线的数值标签c和包含所有图形对象的句柄h; 2.contourf()函数

contourf()函数用于绘制带填充的二维等值线图。即在contour()函数绘制的等值线图上,将相邻的等值线之间用同一种颜色填充,不相邻的等值线之间填充有不同的颜色,填充用的颜色决定于当前的色图颜色。函数contourf()的调用格式同contour()。

3.clabel()函数

 clabel(c,h):在句柄h指定的等值线图上的等值线上添加数据标签c。 clabel(c,h,v):在指定的等值线值v上显示数据标签c。

 clabel(c,h,'manual'):手动方式设置等值线的数据标签。当运行该命令后,等值线图中将出现十字连线,用户用鼠标左键或空格键在最接近指定位置上放置数据标签,回车键结束该操作。

 clabel(c):在当前的等值线图上添加数据标签c。 clabel(c,v):在当前的等值线图上添加数据标签c,并指定数据标签所加的等值线值v。

 clabel(c,'manual'):用户手动方式为当前等值线图添加数据标签。另外,函数ezcontour()和ezcontourf()可以直接绘制函数表达式的等值线图,感兴趣的读者可以查阅MATLAB的相关帮助文档。红字是我自己的数据。[c,h]=contour(speed,torque,efficient,28)clabel(c,h,[92.046,91.115,90.184,89.253,88.322,86.460,84.598,81.806,80.874,74.356,70.632])x=500:5:2000;y=172;hold on plot(x,y)x1=2000:5:6000;y1=0.000002708*x1.^2-0.04766*x1+256.488;Hold on Plot(x1,y1)title('电机效率map图(%)')【例5.32】等值线图的绘制。

z=peaks;

%函数peaks用于生成图形绘制的示例数据 [c,h] = contour(z);

%生成数据矩阵z的不带填充的二维等值线图 title('一般二维等值线图的绘制')

clabel(c,h);

%为二维等值线图添加数据标签 colorbar

%添加等值线图的颜色条 title('一般二维等值线图的绘制(添加数据标签)')

figure;

v=[min(z(:)):2:max(z(:))];

[c,h] = contourf(z,v);

%绘制带填充的二维等值线图,并设置等值线向量v clabel(c,h);

%为二维等值线图添加数据标签 colorbar

%添加等值线图的颜色条 title('带填充的二维等值线图的绘制')

figure;

[c,h] = contourf(z,5);

%绘制带填充的二维等值线图,并设置等值线条数为5 title('二维等值线图手动添加等值线标签')

clabel(c,h,'manual');

%为二维等值线图手动添加数据标签

运行上述程序,显示如图5.44所示的图形。

图5.44(a)

等值线图的绘制

图5.44(b)

等值线图的绘制

图5.44(c)

等值线图的绘制

图5.44(d)

等值线图的绘制

看到等值线图是不是很惊喜????

我们再画map图时,需要定义等维数3个矩阵,speed=[ ];torque=[];efficient[];[c,h]=contour(speed,torque,efficient,28);//因为我发现28比较好看。

clabel(c,h,[92.046,91.115,90.184,89.253,88.322,86.460,84.598,81.806,80.874,74.356,70.632])后面就是细节啦。下面是没经过处理的结果

《如何用matlab绘制电机效率map图或发动机万有特性曲线.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
如何用matlab绘制电机效率map图或发动机万有特性曲线
点击下载文档
相关专题 matlab画电机效率map 如何用 发动机 曲线 matlab画电机效率map 如何用 发动机 曲线
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文