磁化曲线matlab,基于 MATLAB6的磁化曲线拟合

基于MATLAB6.5的磁化曲线拟合

一、问题的提出。

在进行感应电机磁路计算时,需要根据定转子齿部和轭部磁通密度确定相应的磁场强度。数据手册中磁通密度和磁场强度是以数据表的形式给出的。因此,在确定磁场强度时就有必要进行查询。

采用直接查表然后进行带入运算在进行手算程序时对精度要求不是很高的情况下尚可满足要求。但是在进行计算机电机程序设计时,通过查询数表操作来完成运算时却显得很不方便。最关键的是直接查询数表有相当大的局限性。对与哪些没有落在数表内点上的数据,往往要进行局部线性化的近似处理,这就给程序设计带来了一定的麻烦。

因此,是否可以通过找到一个与一系列离散数据高度拟合的连续曲线来通过代入任意一个磁通密度值确定磁场强度?

二、问题分析。

本问题中涉及到的铁磁物质型号为D23,在《电机设计·机械工业出版社》一书附录5中对应有磁通密度和磁场强度数据150组。

将这150组数据描点后必有一条曲线与这150组数据高度拟合。考虑到傅里叶级数定义任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示,若对一个非周期函数进行周期延拓后便可适用于傅里叶级数分解。

由此,可以假设任取一个经周期延拓的非周期函数曲线上的一段,可以表示成正弦函数和余弦函数级数的和的形式。

因此,借助于MATLAB6.5,可以选用三角函数sinx,cosx,sin2x,cos2x,…sin(mx),cos(mx)为基底函数,进行最小二乘法拟合。

MATLAB6.5中命令

x=lsqcurvefit( fun,x0,xdata,ydata)

[x,resnorm]=lsqcurvefit(fun,x0,xdata,ydata)

的功能是根据给定的数据(xdata,ydata),按函数文件fun给定的函数,以x0为初值作最小二乘拟合,返回函数fun中的系数向量x和残差的平方和范数resnorm 。

根据以上分析,函数文件fun中的函数可定义为

f= A1sinx+A2cosx+A3sin2x+A4cos2x+A5sin3x+A6cos3x+…

三、问题解决。

根据以上分析,编写m文件,对磁化曲线进行拟合,源程序如下所示。

源程序段1:定义拟合函数文件,保存名为hanshu.m

function f=hanshu(a,B)

f=a(1);

for i=1:1:30

f=f+a(2*i+1)*cos(B.*(i))+a(2*i)*sin(B.*(i));

end

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值