欢迎来到天天文库
浏览记录
ID:61443087
大小:28.00 KB
页数:5页
时间:2021-01-31
《MATLAB用于电机电磁计算的计算机编程.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MATLAB用于电机电磁计算的计算机编程原文发表于《微特电机》2007年第6期 MATLAB是一种功能极其强大的解释性语言,它提供的运算符及数据结构之丰富,图形功能之完美、功能箱之丰富,远超过FORTRAN、C等语言;而它的灵活简便又超过BASIC等语言,MATLAB语法限制不严格,特别适用于电机电磁计算的计算机程序,程序的自由度和可移植性好,还可通过Notebook将程序移到Word环境中享用。以下就程序编制的一些心得与读者进行交流。使用MATLAB编写电机设计程序,通常编写一个主程序文件和一个辅助文件夹(内放置需要的各个子程序,即专为设计服务的各种曲线和
2、函数)。通过path(路线)设置使其链接能通过主程序方便加以引用。编写主程序的过程可以边输入、边验算,及时检验程序。MATLAB没有FORTRAN、C等语言等要求的严格的语法规则,因此没有多少计算机语言基础的人都能很快掌握和随心所欲地使用。1曲线和图表的处理电机中的曲线和图表可能有两个来源:由复杂的解析式计算而来和根据试验——经验数据绘制。对于由解析式计算来的曲线,一部分可以将其还原成原始公式直接代入。对找不到原公式的曲线和图表,MATLAB提供了以下十分方便的方法: 1.1一元插值函数的应用MATLAB具有最强大和最完善的矩阵功能,在程序编制中可以直接利用
3、MATLAB提供的一元插值函数准确查取曲线和图表数据。现举例示范如下:例磁路计算中导磁材料的磁化曲线的查取编制一函数Hts=aw(Bts,FE1),计算出电枢齿部磁密Bts后,便自动查出对应单位磁路长度的励磁安匝,继续后面的计算,其中FE1是材料代号,需要采取的步骤是: (1) 建立新文件“aw”,编制函数:functiony=aw(xi,xj),其中xi和xj对应于计算中的Bts和FE1;注:文件中编入了三种材料:21—DW540;315—DW315;235—Q235(欲直接用牌号代入应加引号,参见MATLAB文字计算部分);下文中括号中为方便读者阅读的
4、解释和说明,不能用此格式代入程序。 functiony=aw(xi,xj) x1=xi;x=[0.1:0.01:2.49];(注:x为磁化曲线的B值,单位特斯拉,步长0.01)ifxj==540z=[0.640.670.690.72……820];(注:H值,对应曲线的B值一一输入,数列的项数与x相同elseifxj==315z=[0.170.180.19……41004180];elsexj==235z=[1.51.551.6……33503430];endy=interp1(x,z,x1);式中引用的“interp1(x,y,x0)”为直接引用MATLAB函数
5、库中的一元插值函数。如果采用拉格朗日插值,可以自行编制一拉格朗日函数加以引用。同理也可应用牛顿插值、埃尔米特插值和样条函数插值等。 (2) 将编制的函数储存。在MATLAB的基本界面中设置好path,即可直接在程序中引用。 1.2将具连续性的数据通过“polyfit”函数进行拟合为解析式。举例示范如下:例小型凸极同步电机设计中某系数的求取步骤:(1)列出已知的两变量数列:x=[0.510.550.570.60.6250.650.680.690.70.710.720.740.75];Ad=[1.011.041.0511.0691.081.0931.1081.
6、1141.1231.131.1421.1571.173];(2)求解:y1=polyfit(x,Ad1,3)解得13.804825.498416.16612.4343为按降函数排列的多项式系数(3)还原多项式为:ad=13.8048*x1.^3-25.4984*x1.^2+16.1661*x1-2.4343;可以将原数列和求出的解析式分别用plot命令作曲线,若重合,则证明达到精度,解析式即可直接用于计算。 1.3二元插值函数的应用MATLAB提供了方便的的二元插值函数interp2(x,y,z,x0),可直接引用。十分有利于曲线族的处理,例如某类型微型永磁
7、无刷电机计算中,当轭部磁密大于1.8T时磁化曲线族的处理其中按设计程序提供的表格,输入的BT(磁密)数组有41项,电枢齿系数KS数组共13项,对应表中输入的HT数组为41行、13列的矩阵,为BT、KS的二元函数。程序中定义函数: functiony=FH(x1,x2); KSI=[1.61.7……2.8];(13项数组)BTI=[1.81.81……2.2];(41项数组) HT=[130130……130…………393];(41*13的二维数组) y=interp2(KSI,BTI,HT,x1,x2);在主程序中按班计算出Ks和Bt,用语句at2j=FH(Ks
8、,Bt)则可自动按线形插值求出对应的齿部安匝。 2输
此文档下载收益归作者所有