《电机学》课程设计Word格式.doc

上传人:b****9 文档编号:13093641 上传时间:2022-10-04 格式:DOC 页数:18 大小:6.53MB
下载 相关 举报
《电机学》课程设计Word格式.doc_第1页
第1页 / 共18页
《电机学》课程设计Word格式.doc_第2页
第2页 / 共18页
《电机学》课程设计Word格式.doc_第3页
第3页 / 共18页
《电机学》课程设计Word格式.doc_第4页
第4页 / 共18页
《电机学》课程设计Word格式.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

《电机学》课程设计Word格式.doc

《《电机学》课程设计Word格式.doc》由会员分享,可在线阅读,更多相关《《电机学》课程设计Word格式.doc(18页珍藏版)》请在冰豆网上搜索。

《电机学》课程设计Word格式.doc

磁场关系:

则方程为:

1.假设铁芯的磁导率为无穷大,

(1)若I2=0,Φ1=6mWb,求I1

(2)若I1=10A,I2=20A,求Φ1和Φ。

铁芯的磁导率为无穷大,则铁芯磁路H=0,方程化简为

(1)将I2=0,Φ1=6mWb带入上式方程,得I1=57.2958A

(2)将I1=10A,I2=20A带入上式方程,得B1=0.418879T,B2=-0.628319T,则Φ1=B1ld=1.04720mWb,Φ2=B2ld=-1.57080mWb

Φ1=6mWb,则B1=Φ1/(ld)=2.4T

采用编程法求解,由方程

可看作未知数为B2的一元非线性方程,通过二分法求解出B2,再计算出B3,然后由方程

计算出I1。

为提高计算精度,可使用拉格朗日插值法或曲线拟合法,对表中不能直接得到的数据进行近似计算。

本题使用拉格朗日插值法。

拉格朗日插值法:

假设任意两个不同的xj都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为:

其中每个为拉格朗日基本多项式(或称插值基函数),其表达式为:

拉格朗日基本多项式的特点是在上取值为1,在其它的点上取值为0。

代码如下:

#include<

iostream>

cstdlib>

cmath>

iomanip>

stdlib.h>

usingnamespacestd;

doubledelta1=0.003,delta2=0.002,w=0.125,h=0.15,n1=100,n2=50,l=0.05,d=0.05;

doublepi=3.1415926535898;

doubleu0=4*pi*pow(10,-7);

doublei1,i2,f10,f20;

inti_diedai_root1=0,i_diedai_root2=0,i_ddjs=0;

doublebh[2][150]={{0.4 ,

doubleLagrange(doublexx);

doubleb2h(doubleb);

doublef2(doubleb2,doubleb1);

doubleroot2(doublex1,doublex2,doubleb1);

doublelinearfit2(doublex);

doublelinearfit1(doublex);

intmain()

{

doubleb1,b2,b3,h1,h2,h3,f1,f2;

b1=2.4;

b2=root2(0,2.4,b1);

b3=b1-b2;

i1=(h1*(2*w+h+3*l-delta1)+b1*delta1/u0+h3*(h+l))/n1;

i2=(b2h(b2)*(2*w+h+3*l-delta2)+b2*delta2/u0-b2h(b3)*(h+l))/(-n2);

cout<

<

endl<

"

计算过程信息:

二分法计算B2次数:

i_diedai_root1<

endl;

磁密计算结果:

setprecision(16)<

B1="

b1<

B2="

b2<

B3="

b3<

endl;

磁通计算结果:

Φ1="

b1*l*d<

Φ2="

b2*l*d<

Φ3="

b3*l*d;

I1="

i1;

结果验算:

"

Φ1="

(b2+b3)*l*d<

I2="

i2;

system("

pause"

);

return0;

}

doubleb2h(doubleb)//计算磁场强度H,输入磁感应强度B,输出磁场强度H

{intt;

doubleh_t;

t=abs((int)(100*b))-40;

if(t>

134)

{

if(b>

=0)

returnlinearfit2(b);

elsereturn-linearfit2(-b);

}

if(t<

15)

{

if(b>

returnlinearfit1(b);

elsereturn-linearfit1(-b);

}

=0)returnLagrange(b);

elsereturn-Lagrange(-b);

doubleLagrange(doublexx)//拉格朗日插值,输入自变量,输出插值函数值

inti=0,j=0,n=150,z=0;

doublepai,sum;

double*x,*y;

x=bh[0];

y=bh[1];

z=((int)(100*xx))-45;

if(xx<

=0.45)z=0;

n=10+z;

if(xx>

1.84)n=6+z;

for(j=z,sum=0;

j<

n;

j++)

for(i=z,pai=1;

i<

i++)

if(i==j)continue;

pai=pai*(xx-*(x+i))/(*(x+j)-*(x+i));

sum=sum+*(y+j)*pai;

returnsum;

doublelinearfit2(doublex)

return(56450*x-89188);

doublelinearfit1(doublex)

return(202.21*x+57.015);

doublef2(doubleb2,doubleb1)

doubleb3,h2,h3;

h2=b2h(b2);

h3=b2h(b3);

returnh2*(2*w+h+3*l-delta2)+b2*delta2/u0-h3*(h+l)+n2*i2;

doubleroot2(doublex1,doublex2,doubleb1)

doublex,y,y1;

y1=f2(x1,b1);

do

cout<

'

!

;

i_diedai_root1++;

if(i_diedai_root1>

=1000000)break;

x=(x1+x2)/2;

y=f2(x,b1);

if(y*y1>

0)

x1=x;

y1=y;

else

x2=x;

}while(fabs(y)>

=2*pow(10,-13));

returnx;

计算结果(设定收敛精度10^-13):

计算结果:

B1=2.4T,B2=0.721749T,B3=1.67825T

Φ1=0.006Wb,Φ2=0.0018044Wb,Φ3=0.00419563Wb

I1=57.2958A

改变程序,使收敛精度降低为10^-10,则运算精度降低,但循环次数减小,时间开销减下。

Φ1=0.006Wb,Φ2=0.0018044Wb,Φ3=0.00419563Wb

I1=57.2958A

编程用迭代法实现,计算时先用铁芯磁导率为无穷大情况时近似计算B1,B2,B3的值,将B3的值作为定值计算出H3的值带入方程

(1)

(2),用弦截法计算出B1和B2的值并计算出B3的值,与之前的值比较,若在允许的误差范围以内则计算结束输出计算值,否则将B3的值带入进行下一次循环,直到B3的精度达到要求。

计算步骤如下:

① 近似情况下求得

② 代入方程

(1)

(2),通过弦截法求得,

③ 求得

④ 与比较,若精度达到要求,则,,即为所求

⑤ 若精度达不到要求,则重复2,3,4步骤,求得,直到精度足够即与之差足够小

⑥ 通过得到的求

用近似计算结果充当第零次迭代值,因精确值与近似值偏差不是很大,可加快收敛,减小迭代次数,并可避免因步长太大或太小而不能收敛。

程序执行时可选择是否进行拉格朗日插值法或曲线拟合法,提高磁场强度的精确度。

拉格朗日插值法计算量很大,时间消耗太大,故采用曲线拟合法。

因曲线变化范围较大,对整个曲线进行拟合比较困难,如使用6次多项式进行拟合,系数达到105数量级,R2为0.9995。

因此,对曲线进行分段拟合:

图像如图所示,其中蓝点为磁化曲线上的点,不同颜色的曲线为拟合曲线。

磁化曲线(B-H)

磁化曲线(H-B)

流程图如下:

#inclu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1