电机MAP图绘制之—Matlab
RT,matlab这款软件我从没用过,说实话,我都不知道怎么做出来的,更别说这图对不对了{:1_562:} ,这是我用MATLAB做的电机效率Map图,请大神指点下:问题1.这图能对吗,别人做的都是一圈一圈的线,我的这个和origin做的不一样呢,和其他大神做的就更不相同了,外观不好看;
问题2. 程序首次运行可以,第二次就出现错误:(我用的版本是2010b),关掉软件后再打开,还是首次可以。
??? Error using ==> xlsread at 277
Data range is invalid.
Error in ==> TLBYO at 1
speed_eff=xlsread('G:\Matlab7 data\tldata.xls','TL','A2:A111')
有人说是版本的问题,可是同一个软件,我同事的电脑上就不会错误,我的就错误,很奇怪,应该怎么解决呢,其已经在全英文路径下,并且文件中把中文也删掉了。
问题3. 是最主要的问题,我看有人做的map图是三维的,具体怎么做呢,看了不少帖子也没搞懂,期待大神写个教程{:1_494:} ?
说明:如果有作图的,为了讨论的一致性,请大家以下面链接中的2楼的附件数据讨论。
下面链接是其他方法绘制map图方法汇总的讨论帖和其他人发的关于map图的帖子
https://bbs.simol.cn/forum.php?mo ... p;extra=#pid1942994 你这个MAP图肯定不对的。用matlab做效率MAP要知道不同激励大小下,转速和效率、转矩和效率的关系曲线,然后用contour函数做等值线。最后附上我自己写的matlab出map图的程序。x=a(:,1);
y=a(:,2);
z=a(:,3);
=meshgrid(,);
Z = griddata(x,y,z,X,Y);
pcolor(X,Y,Z);
shading interp;hold on;colorbar;
=contour(X,Y,Z,50);
A=xlabel('时间 (s)');
B=ylabel('定子三相电压 (V)');
set(A,'Fontangle','normal','FontName','宋体','FontSize',15);
set(B,'Fontangle','normal','FontName','宋体','FontSize',15);
set(findobj('FontSize',10),'FontSize',15);
clabel(C,H,'fontsize',10,'color','k');
本帖最后由 1109003457 于 2016-9-24 11:27 编辑
Nephology 发表于 2016-9-24 09:07
你这个MAP图肯定不对的。用matlab做效率MAP要知道不同激励大小下,转速和效率、转矩和效率的关系曲线,然后 ...
非常感谢您了,能在程序后面附上注释吗,我完全是硬套的,matlab我现在一点不懂{:1_494:}
我的是实验测试的三种数据,转速,转矩,效率,一共110个点 你可以上传一下你的实验数据,我帮你用matlab出一下图看看。 本帖最后由 1109003457 于 2016-9-24 16:21 编辑
Nephology 发表于 2016-9-24 14:59
你可以上传一下你的实验数据,我帮你用matlab出一下图看看。
上传数据了,在下面的连接的2楼:
https://bbs.simol.cn/forum.php?mod=viewthread&tid=157568&page=1#pid1943197
这是我的原来的程序:
speed_eff=xlsread('G:\Matlab7 data\tldata1.xls');
torque_eff=xlsread('G:\Matlab7 data\tldata2.xls');
efficiency_eff=xlsread('G:\Matlab7 data\tldata3.xls');
value_eff=;
=meshgrid(10:500:10000,0:20:300);
EFFICIENCY=griddata(speed_eff,torque_eff,efficiency_eff,SPEED,TORQUE,'v4');
=contour(SPEED,TORQUE,EFFICIENCY,value_eff);
clabel(c,h,value_eff);
这是我参照你的程序后改的程序:
x=xlsread('G:\Matlab7 data\tldata1.xls');
y=xlsread('G:\Matlab7 data\tldata2.xls');
z=xlsread('G:\Matlab7 data\tldata3.xls');
value_eff=;
=meshgrid(,);
EFFICIENCY=griddata(x,y,z,SPEED,TORQUE);
pcolor(SPEED,TORQUE,EFFICIENCY);
shading interp;hold on;colorbar;
=contour(SPEED,TORQUE,EFFICIENCY,value_eff);
clabel(c,h,value_eff);
还有就是把=contour(SPEED,TORQUE,EFFICIENCY,value_eff);改为=contour(SPEED,TORQUE,EFFICIENCY,50);以后,图上就没有数字了
撸主,麻烦请问一下,我试着做了一下,那一圈圈的等高线怎么能够显示出来呢,有没有什么办法 gonglipeng16 发表于 2016-9-27 16:19
撸主,麻烦请问一下,我试着做了一下,那一圈圈的等高线怎么能够显示出来呢,有没有什么办法
你这个是着色了,等高线看不出来,去掉颜色就显示等高线了 楼主,你的数据在哪里,我也去仿真一下
谢谢分享,一直在学着画! 本帖最后由 1109003457 于 2016-10-25 09:10 编辑
只言片语 发表于 2016-9-29 22:50
楼主,你的数据在哪里,我也去仿真一下
上传数据了,在下面的连接的2楼:
https://bbs.simol.cn/forum.php?mod=viewthread&tid=157568&page=1#pid1943494 楼主,你这电机效率高的有点儿离谱了吧! 数据有些问题,有些我自己补充,编的 gonglipeng16 发表于 2016-9-27 16:19
撸主,麻烦请问一下,我试着做了一下,那一圈圈的等高线怎么能够显示出来呢,有没有什么办法
很喜欢你的图,请教下怎么做的,能不能一起讨论下 关于MAXWELL或matlab做MAP图,各位大神能否出个小步骤教程啊,初学者很吃力啊 你好楼主,我想问下如何把你数据带入程序里啊,没看出来怎么带入。
李东明 发表于 2017-7-13 10:34
你好楼主,我想问下如何把你数据带入程序里啊,没看出来怎么带入。
用下面的命令就可以了啊
x=xlsread('G:\Matlab7 data\tldata1.xls');
y=xlsread('G:\Matlab7 data\tldata2.xls');
z=xlsread('G:\Matlab7 data\tldata3.xls'); 顶一下,感谢楼主了。。。。。。。。。。! 楼主,你的数据是在哪里呢
请问一下,您的110个点是通过实际的实验的出来的还是通过仿真,我现在想用jmag做效率map图,但是不知道需要什么数据。 哈哈,没想到这么几年过去了,那个号(gonglipeng16)发的信息还在。直到如今,还非常感谢大神的分享,这个程式非常棒!
页:
[1]
2