- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLB用于电机电磁计算的计算机编程
MATLAB用于电机电磁计算的计算机编程
原文发表于《微特电机》2007年第6期
?
MATLAB是一种功能极其强大的解释性语言,它提供的运算符及数据结构之丰富,图形功能之完美、功能箱之丰富,远超过FORTRAN、C等语言;而它的灵活简便又超过BASIC等语言,MATLAB语法限制不严格,特别适用于电机电磁计算的计算机程序,程序的自由度和可移植性好,还可通过Notebook将程序移到Word环境中享用。以下就程序编制的一些心得与读者进行交流。
使用MATLAB编写电机设计程序,通常编写一个主程序文件和一个辅助文件夹(内放置需要的各个子程序,即专为设计服务的各种曲线和函数)。通过path(路线)设置使其链接能通过主程序方便加以引用。编写主程序的过程可以边输入、边验算,及时检验程序。MATLAB没有FORTRAN、C等语言等要求的严格的语法规则,因此没有多少计算机语言基础的人都能很快掌握和随心所欲地使用。
1 曲线和图表的处理
电机中的曲线和图表可能有两个来源:由复杂的解析式计算而来和根据试验——经验数据绘制。对于由解析式计算来的曲线,一部分可以将其还原成原始公式直接代入。对找不到原公式的曲线和图表,MATLAB提供了以下十分方便的方法:
?
1.1 一元插值函数的应用
MATLAB具有最强大和最完善的矩阵功能,在程序编制中可以直接利用MATLAB提供的一元插值函数准确查取曲线和图表数据。现举例示范如下:
例 磁路计算中导磁材料的磁化曲线的查取
编制一函数Hts=aw(Bts,FE1),计算出电枢齿部磁密Bts 后,便自动查出对应单位磁路长度的励磁安匝,继续后面的计算,其中FE1是材料代号,需要采取的步骤是:
?
(1)?? 建立新文件“aw”,编制函数:function y=aw(xi,xj),其中xi和xj对应于计算中的Bts和FE1;
注:文件中编入了三种材料:21—DW540;315—DW315 ;235—Q235(欲直接用牌号代入应加引号,参见MATLAB文字计算部分);下文中括号中为方便读者阅读的解释和说明,不能用此格式代入程序。
?
function y=aw(xi,xj)
?
x1=xi;
x=[0.1:0.01:2.49];(注:x为磁化曲线的B值,单位特斯拉,步长0.01)
if xj==540
z=[0.64 0.67 0.69 0.72 …… 820];(注:H值,对应曲线的B值一一输入,数列的项数与x相同
elseif xj==315
z=[0.17 0.18 0.19 …… 4100 4180];
else xj==235
z=[1.5 1.55 1.6 ……3350 3430];
end
y=interp1(x,z,x1);
式中引用的“interp1(x,y,x0)”为直接引用MATLAB函数库中的一元插值函数。如果采用拉格朗日插值,可以自行编制一拉格朗日函数加以引用。同理也可应用牛顿插值、埃尔米特插值和样条函数插值等。
?
(2)?? 将编制的函数储存。在MATLAB的基本界面中设置好path,即可直接在程序中引用。
?
1.2 将具连续性的数据通过“polyfit”函数进行拟合为解析式。举例示范如下:
例 小型凸极同步电机设计中某系数的求取步骤:
(1) 列出已知的两变量数列:
x=[0.51 0.55 0.57 0.6 0.625 0.65 0.68 0.69 0.7 0.71 0.72 0.74 0.75];
Ad=[1.01 1.04 1.051 1.069 1.08 1.093 1.108 1.114 1.123 1.13 1.142 1.157 1.173];
(2) 求解:
y1=polyfit(x,Ad1,3)
解得 13.8048 25.4984 16.1661 2.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),可直接引用。十分有利于曲线族的处理,例如某类型微型永磁无刷电机计算中,当轭部磁密大于1.8T时磁化曲线族的处理
其中按设计程序提供的表格,输入的BT(磁密)数组有41项,电枢齿系数KS数组共13项,对应表中输入的HT数组为41行、13列的矩阵,为BT、KS的二元函数。程序中定义函数:
?
function y=FH(x1,x2);
?
KSI=[1.6 1.7 …… 2.8]; (13
文档评论(0)