中小型异步电动机的matlab计算程序

中小型异步电动机的matlab计算程序
中小型异步电动机的matlab计算程序

中小型异步电动机的MATLAB计算程序%%%%%%%%%%%%%%%%%%%%%%%%%第一部分额定数据和主要尺寸%%%%%%%%%%%%%%%%%%%%%%%%%

myflag1 = 1;

%myflag1 myflag1=1是三角形接法,myflag1=0是星

形接法

myflag2 = 0;

%myflag2 myflag2=1是双层槽绝缘占面

积,myflag2=0是单层槽绝缘占面积

myflag3 = 1;

%myflag3 myflag3=1是无径向通风道的铁心长

度,myflag3=0是定转子径向通风道不交错,其它是通

风道交错

myflag4 = 1;

%myflag4 myflag4=1是无径向通风道的净铁心长

度,myflag4=0是有径向通风道的净铁心长度

myflag5 = 2;

%myflag5 myflag5=1是双层线圈,myflag5=2是单层

线圈

myflag6 = 0;

%myflag6 myflag6=1是平底槽,myflag6=0是圆底槽myflag7 = 0;

%myflag7 myflag7=1是平底槽,myflag7=0是圆底槽myflag8 = 1;

%myflag8 myflag8=1是圆底槽,myflag8=0是半开口

平底槽,其它为开口平底槽

myflag9 = 1;

%myflag9 myflag9=1是半开口槽和半闭开口

槽,myflag9=0是开口槽

myflag10 = 1;

%myflag10 myflag10=1是单层线圈,myflag10=0是双

层线圈

myflag11 = 1;

%myflag11 myflag11=1是无径向通风道,myflag11=0

是有径向通风道

myflag12 = 3;

%myflag12 myflag12=1是双层叠绕组,myflag12=2单

层同心式,myflag12=3单层同心式(分组的)、交叉

式,myflag12=4 单层链式

myflag13 = 1;

%myflag13 myfalg13=1是无径向通风道,myflag13=0

是径向通风道

myflag14 = 4;

%myflag14 myflag14=1是二级防护式,myflag14=2是

四级及以上防护式,myflag14=3是二级封闭型自扇冷

式,myflag14=4是四级及以上封闭型自扇冷式

myflag15 = 1;

%myflag15 myflag15=1是半闭口槽,myflag15=0 是开

口槽

PN = 11000;

Un = 380; %额定电压f = 50; %频率cos_phi = 0.84;

eta_1 = 0.88;

m1 = 3;

p = 2; %极对数q1 = 3; %每极每相槽数%myflag1 myflag1=1是三角形接法,myflag1=0是星形接法。

switch myflag1

case 1

UN_phi = Un;

case 0

UN_phi = Un/sqrt(3);

end

Ikw = PN/(m1*UN_phi); %功电流Z1 = 2*m1*p*q1; %定子槽数Z2 = 26; %转子槽数Zp1=Z1/(2*p);

Zp2=Z2/(2*p); %定转子每极槽数KB_2 = 0.0108*log10(PN)-0.013*p+0.931; %满载电势标幺值alpha_p_1 = 0.68;

Knm_1 = 1.10;

Kdp1_1 = 0.96;

A_1 = 26000; %由参考文献[电机设计]图10-2 B_delta_1 = 0.67;

n_1 = 1450;

p_1 = KB_2*PN/(eta_1*cos_phi);

V = 6.1*1*p_1/(alpha_p_1*Knm_1*Kdp1_1*A_1*B_delta_1*n_1);

Lambda=1.4; %由参考文献[电机设计]表10-2 Dt1_1 = (2*p*V/(Lambda*pi))^(1/3);

Dt1__D = 0.64; %由参考文献[电机设计]表10-3 Dt1__D表示Dt1/D D1_1 = Dt1_1/(Dt1__D); %定子冲片外径D1 = D1_1;

Dt1 = D1*(Dt1__D);

lef = V/(Dt1^2); %铁心有效长度

lt = lef - 0.006;

delta = 0.3*(0.4+7*sqrt(Dt1*lef))*(1/10^3);

D2=Dt1-2*delta; %转子外径Dt2 = 0.06; %转子内径由转轴直径决定tou=pi*Dt1/(2*p); %极距t1= pi* Dt1/Z1; %定子齿距t2=pi*D2/Z2; %转子齿距bsk = 0.0145; %转子斜槽宽一般取一个定子齿距t1 alpha_1 = 1; %并联支路alpha_1为1 N_phi1_1 = (eta_1*cos_phi*pi*Dt1*A_1)/(m1*Ikw);

Ns1 = (m1*alpha_1*N_phi1_1)/Z1;

N_phi1 = Ns1*Z1/(m1*alpha_1);

J1_1=5.0; %定子电密I1_1 = Ikw/eta_1*cos_phi; %定子电流初步值NA = I1_1/(alpha_1*J1_1); %每相串联导体数用NA表示Nt1_1*Ac1_1 KI = 0.089; %查参考文献[电机设计]表10-10 alpha = p*2*pi/Z1;

Kd1=sin(q1*alpha/2)/(q1*sin(alpha/2)); %分布系数Kp1=1; %短距系数Kdp1=Kd1*Kp1; %绕组系数I2_1 = KI*I1_1*3*N_phi1_1*Kdp1/Z2; %转子导条电流IR_1=I2_1*Z2/(2*pi*p); %端环电流JR_1 = 2.1;

AR_1=IR_1/JR_1; %端环面积h=0.002; %槽锲b01 = 0.0038;

b11 = 0.0077;

bt1 = 0.00745;

bt2 = 0.01135;

h01 = 0.0008;

h11 = 0.0011;

h21 = 0.0152;

hs1 = 0.0211;

hs2 = 0.0289;

r21 = 0.0051;

r22 = 0.0024;

hs_1 = 0.0152; %定子槽型b02 = 0.001;

b12 = 0.0048;

h02 = 0.0005;

h12 = 0.0011;

h22 = 0.0249; %转子槽型As=(2*r21+b11)*(hs_1-h)/2+pi*r21*r21; %槽面积Delta_t = 0.0003;

%myflag2 myflag2=1是双层槽绝缘占面积myflag2=0是单层槽绝缘占面积switch myflag2

case 1

At = Delta_t*(2*hs_1+pi*r21+2*r21+b11);

case 0

At = Delta_t*(2*hs_1+pi*r21);

end

Aef = As - At; %槽有效面积Nt1 = 2; %并绕根数d =1.38*10^(-3); %绝缘后直径Sf = Nt1*Ns1*d^2/Aef; % ×100% %槽满率%myflag3 myflag3=1是无径向通风道的铁心长度,myflag3=0是定转子径向通风道不交错,其它是通风道交错。

switch myflag3

case 1

lef = lt + 2*delta;

case 0

lef = lt-nv1*bv1_1;

otherwise

lef = lt-(nv1*bv1_1+nv2*bv2_1);

end %lt铁心长度kfe=0.95;

%myflag4 myflag4=1是无径向通风道的净铁心长度 myflag4=0是有径向通风道的净铁心长度

switch myflag4

case 1

lfe = kfe*lt;

case 0

lfe = kfe*(lt-nv*bv);

end

N_phi1_1 = eta_1*cos_phi*pi*Dt1*A_1/(m1*Ikw); %每相串联导体数alpha_1 = 1; %并联支路Ns1_1 = m1*alpha_1*N_phi1_1/Z1; %每槽导体数%myflag5 myflag5=1是双层线圈myflag5=2是单层线圈

switch myflag5

case 1

Ns1 = 2*Ns1_1;

case 2

Ns1 = Ns1_1;

end %每线圈匝数N2 =N_phi1*Kdp1; %每相有效串联导体数N1 = N_phi1/2; %每相串联匝数

%%%%%%%%%%%%%%%%%%%%%%%%第二部分磁路计算%%%%%%%%%%%%%%%%%%%%%%%%%% KB_1 = 0.927; % KB_1 = 1-epsilon_l == 0.927;

%E1=(1-epsilon_l)*UN_phi==0.927*UN_phi

;

%E1为满载相

电势

E1 = 0.927*UN_phi;

Ks_1 = 1.15;

Ks = 1.148;

Knm = 1.0975;

Phi=E1/(4*Knm*Kdp1*f*N1); %每极磁通Kfe = 0.95;

At1 = Kfe*lt*bt1*Zp1; %定子每极下齿部截面积At2 = Kfe*lt*bt2*Zp2; %转子每极下齿部截面积Bt1_1=1.4; %初取值%myflag6 myflag6=1是平底槽 myflag6=0是圆底槽

switch myflag6

case 1

hf1_1 = (D1-Dt1)/2-hs1;

case 0

hf1_1 = (D1-Dt1)/2-hs1+r21/3;

end %定子轭部计算高度Af1 =Kfe*lt*hf1_1; %定子轭部截面积%myflag7 myflag7=1是平底槽 myflag7=0是圆底槽

switch myflag7

case 1

hf2_2 = (D2-Dt2)/2-hs2;

case 0

hf2_2 = (D2-Dt2)/2-hs2+r22/3;

end %转子轭部计算高度Af2 = Kfe*lt*hf2_2; %转子轭部截面积tau = 0.1335;

A_delta = tau*lef; %空气隙截面积alpha_p1 = 0.67; %计算极弧系数Fs = 1/alpha_p1; %波幅系数B_s = Fs*Phi/A_delta; %气隙磁密Bt1 = Fs*Phi/At1; %转子齿磁密Bt2 = Fs*Phi/At2; %定子齿磁密Bf1 = Phi/2*Af1; %转子轭磁密Bf2 = Phi/2*Af2; %定子轭磁密B_delta = Fs*Phi/A_delta; %空气隙磁密Ht1 =15.74;

Ht2 =9.5; %磁场强度%myflag8 myflag8=1是圆底槽 myflag8=0是半开口平底槽其它为开口平

底槽

switch myflag8

case 1

Lt1 = (h11+h21)+r21/3;

Lt2 = (h12+h22)+r22/3;

case 0

Lt1 = h11+h21 ;

Lt2 = h12+h22;

otherwise

Lt1 = Hs1;

Lt2 = h12+h22;

End %Lt1定子,Lt2转子齿部磁路计算长度Lf1_1 = pi*(D1-hf1_1)/(2*p*2); %定子轭部磁路计算长度Lf2_1 = pi*(Dt1-hf2_2)/(2*p*2); %转子轭部磁路计算长度%myflag9 myflag9=1是半开口槽和半闭开口槽 myflag9=0是开口槽

switch myflag9

case 1

K_delta=t1*(4.4*delta+0.75*b01)/(t1*(4.4*delta+0.75*b01)-b01^2);

case 0

K_delta = t1*(5*delta+b01)/(t1*(5*delta+b01)-b01^2);

end

delta_ef = K_delta*delta; %有效气隙长度Ft1 = Ht1*Lt1; %定子齿部磁压降Ft2 = Ht2*Lt2; %转子齿部磁压降Cf1 =0.557; Cf2=0.445;

Hf1 = 8.23*10^2; Hf2 = 7.29*10^2;

Ff1 = Cf1*Hf1*Lf1_1; %定子轭部磁压降Ff2 = Cf2*Hf2*Lf2_1; %转子轭部磁压降mu_0 = 1.25*10^(-6);

F_delta = K_delta*delta* B_delta/mu_0; %空气隙磁压降K_s= (F_delta + Ft1 + Ft2)/F_delta; %饱和系数Ks_2 = Ks- (Ks-Ks_1)/3;

Ks_1 = Ks_2;

F0 = F_delta + Ft1 + Ft2 + Ff1 + Ff2; %总磁压降Im = 2*p*F0/(0.9*m1*N1*Kdp1); %满载磁化电流Im_= Im/Ikw; %满载磁化电流标幺值Xm_= 1/Im_; %励磁电抗标幺值

%%%%%%%%%%%%%%%%%%%%%%%%%第三部分参数计算%%%%%%%%%%%%%%%%%%%%%%%%% d1 = 0.015; %为线圈直线部分伸出铁心长度lb = lt +2*d1; %为直线部分长Kc = 1.2;

beta_ = 0.852;

tau_v = pi*(Dt1 + 2*(h01 + h11) + h21 + r21)/(2*p)*beta_;

%单层同心式或交叉式线圈beta取平均值Cs = tau_v/2*cos(alpha);

%cos(alpha) = sqrt(1 - sin(alpha)^2); sin_alpha = (b11 + 2*r21)/(b11 + 2*r21 + 2*b11);

%myflag10 myflag10=1是单层线圈 myflag10=0 是双层线圈

switch myflag10

case 1

lc = lb + Kc * tau_v;

case 0

lc = lb + 2 * Cs;

end

fd = Cs*sin(alpha); %双层线圈端部轴向投影长lb = 2*d1 + Kc*tau_v;

%单层线圈端部平均长Cx = 4*pi*f*mu_0*(N1*Kdp1)^2*lef*PN/(m1*p*(UN_phi)^2);

% ==

0.263*(N1

*Kdp1^2)*

lef*Pn/p*

(U_Nphi)^

2*(1/10^3

); %漏

抗系数

Ku1 =1.0; KL1 =1.0;

lambda_u1 = h01/b01+2*h11/(b01+b11);

lambda_L1 = 0.0765;

lambda_s1 = Ku1*lambda_u1 + KL1*lambda_L1;

%lambda_s1为定子槽比漏磁导 Ku1,KL1查参考文献

[电机设计]图4-9,lambda_u1,lambda_L1查附录% myflag11=1是无径向通风道 myflag11=0是有径向通风道

switch myflag11

case 1

lt1_1 = lt; %无径向通风道时 case 0

lt1_1 = lt - nv1*bv1_1; end

%有径向通风道时 bv1_1是通风道损失宽

度,从图参考文献[电机设计]附1-9查出Xs1_ = 2*m1*p*lt1_1*lambda_s1/(Z1*Kdp1^2*lef)*Cx; %定子槽漏抗Sigma_s = 0.0129;

X_delta1_ = m1*tau*Sigma_s/(pi^2*delta_ef*Kdp1^2*Ks)*Cx;

%定子谐波漏抗Sigma_s从参考文献[电机设计]图4-10或附录八中查出tau_y = 0.1292;

%myflag12 myflag12=1是双层叠绕组,myflag12=2单层同心式,myflag12=3单层同心式(分组的)、交叉式,myflag12=4 单层链式

switch myflag12

case 1

XE1_ = 1.2*(d1 +0.5*fd)/lef*Cx;

case 2

XE1_ = 0.67*(lb - 0.64*tau_y)/(lef*Kdp1^2)*Cx;

case 3

XE1_ = 0.47*(lb-0.64*tau_y)/(lef*Kdp1^2)*Cx;

case 4

XE1_ = 0.2*lb/(lef*Kdp1^2)*Cx;

end

%双层叠绕组 XE1表示定子端部漏抗X_sigma1_ = Xs1_+X_delta1_+XE1_ ; %定子漏抗lambda_u2 = h02/b02;

lambda_L = 1.806; lambda_L2 = 2*h12/(b02+b12)+lambda_L;

lambda_s2 = lambda_u2+lambda_L2;

%转子槽比漏抗 lambda_u2 lambda_L2查参考文献[电机设计]附录四%myflag13 myfalt13=1是无径向通风道 myflag13=0 是有径向通风道

switch myflag13

case 1

lt2_1 =lt;

case 0

lt2_1 = lt-nv2*bv2_1;

end

%bv2从参考文献[电机设计]附录1——9中查出Xs2_ = 2*m1*p*lt2_1*lambda_s2/(Z2*lef)*Cx; %转子槽漏抗Sigma_R = 0.0195;

X_delta2_ = m1*tau*Sigma_R/(pi^2*delta_ef*Ks)*Cx;

%转子谐波漏抗 Sigma_R从参考文献[电机设计]图4-11或附录九查出DR = 0.1285;

XB2_ = 0.757/lef*((lb - lt)/1.13 + DR/2*p)*Cx;

%转子端部漏抗见参考文献[电机设计]图附1-5 Xsk_ = 0.5*(bsk/t2)^2*X_delta2_; %转子斜槽漏抗X_sigma2_ = Xs2_ + X_delta2_ + XB2_ + Xsk_; %转子漏抗X_sigma_ = X_sigma1_ + X_sigma2_; %总漏抗rho_0 = 0.0217*(1/10^6);

Ac1_1 = 1.327*10^(-6);

R1 = rho_0*(2*N1*lc/(Nt1*Ac1_1*alpha_1)); %rho为铝铜的密度R1_ = R1*Ikw/UN_phi; %定子相电阻标幺值C =1.1;

Gw = C*lc*Ns1*Z1*Ac1_1*Nt1*rho_1;

%定子导线重量 C为考虑导线绝缘和引

线重量的系数 rho_1为导线密度KFe = 0.95;

rho_F_1 = 7.8*10^3;

GFe = KFe*lt*(D1 + delta)^2*rho_F_1; %GFe为硅钢片重量delta = 5*(1/10^3); %delta为冲剪余量rho_F_1 = 7.8*10^3;

KB = 1.04;

rho = 0.0434*(1/10^6);

lB = 0.155;

AB = 131.75*10^(-6);

AR = 400*10^(-6);

RB_1 = rho*KB*lB/AB*(4*m1*(N1*Kdp1)^2)/Z2;

%导条电阻折算值 KB是叠片不整齐造成导条电阻增加的系数 rho为电阻率RR_1 = rho*((DR*Z2)/(2*pi*p^2*AR)*(4*m1*(N1*Kdp1)^2/Z2));

%端环电阻折算值RB_ = RB_1*Ikw/UN_phi; %导条电阻标幺值RR_ = RR_1*Ikw/UN_phi; %端环电阻标幺值R2_ = RB_ + RR_; %转子电阻标幺值

%%%%%%%%%%%%%%%%%%%%%%%第四部分工作性能计算%%%%%%%%%%%%%%%%%%%%%%%

eta = 1;

while ((eta-eta_1)/eta) > (0.5/100)

I1p_ = 1/eta_1; %满载时定子电流有功分量标幺值 Xms_ = 2.404;

sigma_1 = 1+X_sigma_/Xms_;

Ix_ = sigma_1*X_sigma_*I1p_^2*(1+(sigma_1*X_sigma_*I1p_)^2);

%满载时定子电流无功分量标幺值 I1Q_ = Im_+Ix_; %满载时定子电流无功分量标幺值KB = 1-(I1p_*R1_+I1Q_*X_sigma_);

%满载电势标幺值KB表示1-epsilon_L EP = 1-Im_*X_sigma_;

%空载电势标幺值 EP表示1-epsilon_0 Bt10 = EP/KB*Bt1; %空载时定子齿磁密 Bt20 = EP/KB*Bt2; %空载时转子齿磁密 Bf10 = EP/KB*Bf1; %空载时定子轭磁密 Bf20 = EP/KB*Bf2; %空载时转子轭磁密 B_delta0 = EP/KB*B_delta; %空载时气隙磁密 Ht10 = 22.52*10^2;

Ht20 = 11.86*10^2;

Hf20 = 8.79*10^2;

Ft10 = Ht10*Lt1; %空载定子齿磁压降 Ft20 = Ht20*Lt2; %空载转子齿磁压降 Ff10 = Cf1*Hf10*Lf1_1; %空载定子轭磁压降 Ff20 = Cf2*Hf20*Lf2_1; %空载转子轭磁压降F_delta_0 = K_delta*delta*B_delta0/mu_0; %空载气隙磁压降 F00 = F_delta_0 + Ft10 + Ft20 + Ff10 + Ff20; %空载总磁压降 Im0 = 2*p*F00/(0.9*m1*N1*Kdp1); %空载磁化电流 I1_ = sqrt(I1p_^2+I1Q_^2); %定子电流标幺值 I1 = I1_*Ikw; %定子电流实际值 J1 = I1/(alpha_1*Nt1*Ac1_1); %定子电流密度 A1 = m1*N_phi1*I1/(pi*Dt1); %线负荷 I2_ = sqrt(I1p_^2+Ix_^2); %转子电流标幺值 I2 = I2_*Ikw*m1*N_phi1*Kdp1/Z2; %转子电流实际值 IR = I2*Z2/(2*pi*p); %端环电流实际值 JB = I2/AB; %转子电流导条电密 JR = IR/AR; %转子电流端环电密 Pcu1_ = I1_^2*R1_;

Pcu1 = Pcu1_*PN; %定子电气损耗 PAl2_ = I2_^2*R2_;

PAl2 = PAl2_*PN; %转子电气损耗 Ps_ = 0.02;

Ps = Ps_*PN; %附加损耗%myflag14 myflag14=1是二级防护式,myflag14=2是四级及以上防护式,%myflag14=3是二级封闭型自扇冷式,myflag14=4是四级及以上封闭型自扇冷式

switch myflag14

case 1

Pfw=5.5*(3/p)^2*(D2)^3*10^3;

case 2

Pfw=6.5*(3/p)^2*(D2)^3*10^3;

case 3

Pfw=13*(1-D1)*(3/p)^2*(D2)^3*10^3;

case 4

Pfw=(3/p)^2*(D1)^4*10^4;

end

Pfw_ = Pfw/PN ;

rho_Fe_1 = 7.8*10^3;

At1 = 9873*10^(-6);

Lt1 = 16.9*10^(-3);

Af1 = 3770*10^(-6);

Lf1 = 92*10^(-3);

Gt = 2*p*At1*Lt1*rho_Fe_1; %定子齿重量

Gf = 2*p*Af1*Lf1*rho_Fe_1; %定子轭重量

Phet =5.388;

Phef =3.765; %根据Bt10和Bf10查参考文献[电机设计]附录六

PFet = Phet*Gt; %定子齿损耗

PFef = Phef*Gf; %定子轭损耗

%myflag15 myflag15=1是半闭口槽myflag15=0 是开口槽

switch myflag15

case 1

k1 = 2.5;

k2 = 2;

case 0

k1 = 3.0;

k2 = 2.5;

end

PFe = k1*Phet+k2*Phef; %定子铁耗

PFe_ = PFe/PN; %铁耗标幺值

Sigma_p_ = Pcu1_+PAl2_+Ps_+Pfw_+PFe_; %总损耗标幺值

PN1_ = 1+Sigma_p_; %输入功率

eta = 1-Sigma_p_/PN1_; %效率

eta_1 = eta+1/100;

end

cos_phi = I1p_/I1_; %功率因数

PFetr = (1-1/2)*163;

PFetf = (1-1/2.5)*70.2;

PFer_=(PFetr+PFetf)/PN;

SN = PAl2_/(1+PAl2_+PFer_+Ps_+Pfw_); %转差率

n_N = 60*f/p*(1-SN); %转速

Tm_ = (1-SN)/(2*(R1_+sqrt(R1_^2+X_sigma_^2))); %最大转矩倍数

%%%%%%%%%%%%%%%%%%%%%%%第五部分起动性能计算%%%%%%%%%%%%%%%%%%%%%%%

Ist = 100.13;

Ist_1 = 3.4*Tm_*Ikw; %起动电流假定值

while (Ist-Ist_1)/Ist > (1/100)

Fst = Ist_1*Ns1/alpha_1*0.707*(Ku1+Kd1^2*Kp1*Z1/Z2)*sqrt(EP);

%起动时定子转子槽磁势平均值

beta_0 = 0.64+2.5*sqrt(delta/(t1+t2));

BL = mu_0*Fst/2*delta*beta_0;

%空气隙时漏磁场的虚拟磁密Ks = 0.46; %1-Ks == 0.54;

%漏抗饱和系数由参考文献[电机设计]图10-18查Cs1 = (t1-b01)*(1-Ks);

%齿顶漏磁饱和引起的定子齿顶宽度的减少Cs2= (t2-b02)*(1-Ks);

%齿顶漏磁饱和引起的转子齿顶宽度的减少 Delta_lanbdau1 = (h01+0.58*h11)/b01*(Cs1/(Cs1+1.5*b01));

lambda_s1_st =

Ku1*(lambda_u1-Delta_

lanbdau1)+KL1*lambda_

L1; %起动时定子

槽比漏磁导X_s1_st = lambda_s1_st/lambda_s1*Xs1_;

%起动时定子槽漏抗 Kz = 1;

X_delta1_st = Kz*X_delta1_; %起动时定子谐波漏抗 XB1_ = 0.3350*Cx;

X_sigma1_st = X_s1_st+X_delta1_st+XB1_; %起动时定子漏抗 bB__bs2 = 1; %bB__bs2表示bB/bs2 rho_B = 0.0434*(1/10^6);

hB = 0.0284;

bB = 1;

bs2 = 1;

xi = 1.987*(1/10^3)*hB*sqrt((bB/bs2)*(f/rho_B)); %导条相对高度 hB =0.0284; %转子导条高 Kf = 1.8 ;

Kx = 0.778;

%电阻增加系数和漏抗减少系数由参考文献[电机设计]图4-23查 Delta_lanbdav2 = h02/b02*(Cs2/(Cs2+b02)); %转子槽比漏磁导lambda_s2_st = (lambda_u2-Delta_lanbdav2)+Kx*lambda_L2;

%转子槽比漏磁导的减少 Xs2_st = lambda_s2_st/lambda_s2*Xs2_; %起动时转子槽漏抗 X_delta2_st = Kx*X_delta2_; %起动时转子谐波漏抗 X_sk_st = Kx*Xsk_; %起动时转子斜槽漏抗 X_sigma2_st = Xs2_st+X_delta2_st+XB2_+X_sk_st; %起动时转子漏抗 X_sigma_st = X_sigma1_st+X_sigma2_st; %起动时总漏抗 R2_st = (Kf*(lt/lB)+(lB-lt)/lB)*RB_+RR_; %起动时转子总电阻 Rst_ = R1_+R2_st; %起动时总电阻 Zst_ = sqrt(Rst_^2+X_sigma_st^2); %起动时总阻抗 Ist = Ikw/Zst_; %起动电流 Ist_2 = Ist_1+2;

end

ist = Ist/I1;

Tst_ = R2_st/Zst_^2*(1-SN); %起动转矩倍数fprintf('计算出来的电流参数,如下:\n');

fprintf('起动电流倍数 %d \n',ist);

fprintf('起动转矩倍数 %d \n',Tst_);

matlab实现数值计算功能源程序(个人整理)

matlab数值计算功能 1,基础运算 (1)多项式的创建与表达 将多项式(x-6)(x-3)(x-8)表示为系数形式 a=[6 3 8] % 写成根矢量 pa=poly(a)% 求出系数矢量 ppa=poly2sym(pa,'x') % 表示成符号形式 ezplot(ppa,[-50,50]) 求3介方阵A的特征多项式 a=[6 2 4;7 5 6;1 3 6 ]; pa=poly(a)% 写出系数矢量 ppa=poly2sym(pa) %表示成符号形式 ezplot(ppa,[-50,50]) % 绘图 求x^3-6x^2-72x-27的根。 a=[1,-6,-72,-85]; % 写出多项式系数矢量 r=roots(a) % 求多项式的根 (2)多项式的乘除运算 c=conv(a,b) %乘法 [q,r]=deconv(c,a)% 除法 求a(s)=s^2+2s+3乘以b(s)=4s^2+5s+6的乘积 a=[1 2 3] b=[4 5 6] % 写出系数矢量 c=conv(a,b) c=poly2sym(c,'s') % 写成符号形式的多项式 展开(s^2+2s+2)(s+4)(s+1)并验证结果被(s+4),(s+3)除后的结果。c=conv([1,2,2],conv([1,4],[1,1])) cs=poly2sym(c,'s') c=[1 7 16 18 8] [q1,r1]=deconv(c,[1,4]) [q2,r2]=deconv(c,[1,3]) cc=conv(q2,[1,3]) test=((c-r2)==cc)

其他常用的多项式运算命令 pa=polyval(p,s) % 按数组规则计算给定s时多项式的值 pm=polyvalm(p,s)% 按矩阵规则计算给定s时多项式的值 [r,p,k]=residue(b,a) % 部分分式展开,b,a分别是分子,分母多项式系数矢量。r,p,k分别是留数,极点和值项矢量。 p=poly(x,y,n) % 用n介多项式拟合给定的数据 polyder(p) %多项式微分 x=[1 2 3 4 5]; y=[5.5 43.1 128 290.7 498.4]; p=polyfit(x,y,3) x2=1:0.1:5; y2=polyval(p,x2); plot(x,y,'o',x2,y2) 2,线性代数 1,求解方程的根 t=[0 0.3 0.8 1.1 1.6 2.3]'; y=[0.82 0.72 0.63 0.60 0.55 0.50]'; e=[ones(size(t)) exp(-t)] c=e\y t1=[0:0.1:2.5]'; y1=[ones(size(t1)),exp(-t1)]*c; plot(t1,y1,'b',t,y,'ro') 2,逆矩阵及行列式 inv(a) det(a) pinv(a) 3,矩阵分解(略) 4,数据分析 max(x)求x各列的最大元素 mean(x)求x各列的平均值 median(x)找出x各列的中位元素 min(x)求出x各列的最小元素 S=cumsum(x)求x各列元素累计和 sort(x)使x的各列元素按递增排序。 std(x)求x各列的标准差。 sum(x)求x各列元素之和 prod(x)求x各列元素之积

第06章_MATLAB数值计算_例题源程序汇总

第6章 MATLAB 数值计算 例6.1 求矩阵A 的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。 1356 78256323578255631 01-???? -? ?=???? -??A A=[13,-56,78;25,63,-235;78,25,563;1,0,-1]; max(A,[],2) %求每行最大元素 min(A,[],2) %求每行最小元素 max(A) %求每列最大元素 min(A) %求每列最小元素 max(max(A)) %求整个矩阵的最大元素。也可使用命令:max(A(:)) min(min(A)) %求整个矩阵的最小元素。也可使用命令:min(A(:)) 例6.2 求矩阵A 的每行元素的乘积和全部元素的乘积。 A=[1,2,3,4;5,6,7,8;9,10,11,12]; S=prod(A,2) prod(S) %求A 的全部元素的乘积。也可以使用命令prod(A(:)) 例6.3 求向量X =(1!,2!,3!,…,10!)。 X=cumprod(1:10) 例6.4 对二维矩阵x ,从不同维方向求出其标准方差。 x=[4,5,6;1,4,8] %产生一个二维矩阵x y1=std(x,0,1) y2=std(x,1,1) y3=std(x,0,2) y4=std(x,1,2) 例6.5 生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。 X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)

例6.6 对下列矩阵做各种排序。 185412613713-?? ??=?? ??-?? A A=[1,-8,5;4,12,6;13,7,-13]; sort(A) %对A 的每列按升序排序 -sort(-A,2) %对A 的每行按降序排序 [X,I]=sort(A) %对A 按列排序,并将每个元素所在行号送矩阵I 例6.7 给出概率积分 2 (d x x f x x -? e 的数据表如表6.1所示,用不同的插值方法计算f (0.472)。 x=0.46:0.01:0.49; %给出x ,f(x) f=[0.4846555,0.4937542,0.5027498,0.5116683]; format long interp1(x,f,0.472) %用默认方法,即线性插值方法计算f(x) interp1(x,f,0.472,'nearest') %用最近点插值方法计算f(x) interp1(x,f,0.472,'spline') %用3次样条插值方法计算f(x) interp1(x,f,0.472,'cubic') %用3次多项式插值方法计算f(x) format short 例6.8 某检测参数f 随时间t 的采样结果如表6.2,用数据插值法计算t =2,7,12,17,22,17,32,37,42,47,52,57时的f 值。 T=0:5:65; X=2:5:57;

数值分析的MATLAB程序

列主元法 function lianzhuyuan(A,b) n=input('请输入n:') %选择阶数A=zeros(n,n); %系数矩阵A b=zeros(n,1); %矩阵b X=zeros(n,1); %解X for i=1:n for j=1:n A(i,j)=(1/(i+j-1)); %生成hilbert矩阵A end b(i,1)=sum(A(i,:)); %生成矩阵b end for i=1:n-1 j=i; top=max(abs(A(i:n,j))); %列主元 k=j; while abs(A(k,j))~=top %列主元所在行 k=k+1; end for z=1:n %交换主元所在行a1=A(i,z); A(i,z)=A(k,z); A(k,z)=a1; end a2=b(i,1); b(i,1)=b(k,1); b(k,1)=a2; for s=i+1:n %消去算法开始m=A(s,j)/A(i,j); %化简为上三角矩阵 A(s,j)=0; for p=i+1:n A(s,p)=A(s,p)-m*A(i,p); end b(s,1)=b(s,1)-m*b(i,1); end end X(n,1)=b(n,1)/A(n,n); %回代开始 for i=n-1:-1:1 s=0; %初始化s for j=i+1:n s=s+A(i,j)*X(j,1);

end X(i,1)=(b(i,1)-s)/A(i,i); end X 欧拉法 clc clear % 欧拉法 p=10; %贝塔的取值 T=10; %t取值的上限 y1=1; %y1的初值 r1=1; %y2的初值 %输入步长h的值 h=input('欧拉法please input number(h=1 0.5 0.25 0.125 0.0625):h=') ; if h>1 or h<0 break end S1=0:T/h; S2=0:T/h; S3=0:T/h; S4=0:T/h; i=1; % 迭代过程 for t=0:h:T Y=(exp(-t)); R=(1/(p-1))*exp(-t)+((p-2)/(p-1))*exp(-p*t); y=y1+h*(-y1); y1=y; r=r1+h*(y1-p*r1); r1=r; S1(i)=Y; S2(i)=R; S3(i)=y; S4(i)=r; i=i+1; end t=[0:h:T]; % 红线为解析解,'x'为数值解 plot(t,S1,'r',t,S3,'x')

Matlab关于数值计算的实现

Matlab关于数值计算的实现 摘要:数值计算(numerical computation computation),主要研究更好的利用计算机更好的进行数值计算,解决各种数学问题。数值分析包括离散傅里叶变换,考虑截断误差,计算误差,函数的敛散性与稳定性等。在数学方面,数值计算的主要研究数值微分与积分,数据的处理与多项式计算,最优化问题,线性方程与非线性方程的求解,常微分方程的数值求解等。同时,数值计算在物理,化学,经济等方面也有研究,本文暂且不表。M atlab软件历经二十多年来的发展,已成为风靡世界的数学三大软件(matlb,Mathematica l,Maple)之一,在数学类科技应用软件中在数值计算方面首屈一指。Matlab以矩阵为数据操作的基本单位,使得矩阵运算十分便捷快速,同时Matlab还提供了海量的计算函数,而且使用可靠地算法进行计算,能使用户在繁复的数学运算中解脱,Matlab还具有方便且完善的图形处理功能,方便绘制二维和三维图形并修饰。

目录 1.数值分析(离散傅里叶变换,考虑截断误差,计算误差,函数 的敛散性与稳定性) 2.数值计算(数值微分与积分,数据的处理与多项式计算, 最优化问题,线性方程与非线性方程的求解,常微分方程的数值求解) 3.图形处理功能(方便绘制二维和三维图形并修饰) 4.总结

1.数据统计与分析 Matlab 可以进行求矩阵的最大最小元素,平均值与中值,关于矩阵元素的求和与求积,累加和与累乘积,标准方程,相关系数,元素排序。现在以求标准方差举例说明Matlab 的实现。 在Matlab 中,实现标准方差计算的函数为std 。对于向量(Y ),std (Y )实现返回一个标准方差,而对于矩阵(A ),std (A )返回一个行向量,该行向量的每个元素对应着矩阵A 各行或各列的标准方差。一般调用std 函数的格式为std (A ,flag ,dim ) Dim 取1或者2分别对应求各列或各行的标准方差,flag 取1时,按照标准方差的计算公式 ∑-=-=N i x x S i N 1 2 1)(11来计算。若flag 取2,则用公式 ∑-==N i x x S i N 1 2 2) (1 进行计算。默认的flag 取值为0,dim 取值为1。课本page143 2. 离散傅里叶变换 离散傅里叶变换广泛应用于信号的分析,光谱和声谱分析、全息技术等各个领域。但直接计算dft 的运算量与变化的长度N 的平方成正比,当N 较大时,计算量太大。随着计算机技术的迅速发展,在计算机上进行离散傅里叶变换计算成为可能。特别是快速傅里叶变换算法的出现,为傅里叶变换的应创造了条件。 (1):傅里叶变换算法的简述。 傅立叶变换是一种分析信号的方法,它可分析信号的成分,也可用这些成分合成信号。许多波形可作为信号的成分,比如正弦波、方波、锯齿波等,傅立叶变换用正弦波作为信号的成分. f(t)是t 的周期函数,如果t 满足狄里赫莱条件:在一个以2T 为周期内f(X)连续或只有有限个第一类间断点,附f (x )单调或可划分成有限个单调区间,则F (x )以2T 为周期的傅里叶级数收敛,和函数S (x )也是以2T 为周期的周期函数,且在这些间断点上,函数是有限值;在一个周期内具有有限个极值点;绝对可积。则有下图①式成立。称为积分运算f(t)的傅立叶变换, ②式的积分运算叫做F(ω)的傅立叶逆变换。F(ω)叫做f(t)的像函数,f(t)叫做 F(ω)的像原函数。F(ω)是f(t)的像。f(t)是F(ω)原像。 ①傅立叶变换 ②傅立叶逆变换

MATLAB实验二MATLAB的数值运算和程序

课程名称:Matlab语言 开设时间:2016—2017学年第 2 学期 专业班级:学生学号:学生姓名: 实验名称:实验二、MATLAB的数值运算和程序实验成绩: 指导教师:批改时间: 一、实验目的和要求 1)掌握基本的矩阵运算及常用的函数。 2)掌握MATLAB函数的编写及调试方法。 3)掌握MATLAB常用的数值运算函数。 二、实验仪器和设备 计算机一台 三、实验过程 1、一维数组在命令窗口执行下面指令,观察输出结果,体味数组创建和寻访方法,%号后面的为注释,不用输入。 rand('state',0) % 把均匀分布伪随机发生器置为0 状态 x=rand(1,5) % 产生(1*5)的均布随机数组 x(3) % 寻访数组x 的第三个元素。 x([1 2 5]) % 寻访数组x 的第一、二、五个元素组成的子数组。 x(1:3) % 寻访前三个元素组成的子数组 x(3:end) % 寻访除前2 个元素外的全部其他元素。end 是最后一个元素的下标。 x(3:-1:1) % 由前三个元素倒排构成的子数组 x(find(x>0.5)) % 由大于0.5 的元素构成的子数组 x([1 2 3 4 4 3 2 1]) % 对元素可以重复寻访,使所得数组长度允许大于原数组。 x(3) = 0 % 把上例中的第三个元素重新赋值为0。 x([1 4])=[1 1] % 把当前x 数组的第一、四个元素都赋值为1。 x[3]=[] % 空数组的赋值操作

2、在命令窗口执行下面指令,观察输出结果 a=2.7358; b=33/79; % 这两条指令分别给变量 a , b 赋值。 C=[1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i] % 这指令用于创建二维组C M_r=[1,2,3;4,5,6],M_i=[11,12,13;14,15,16] % 创建复数数组的另一种方法 CN=M_r+i*M_i % 由实部、虚部数组构成复数数组 3. 记录下面题目的程序和运行后的结果。 1??????=654321a ??????-=531142b ???? ? ?????-=201c ??????????=063258741d 下列运算是否合法,为什么?如合法,结果是多少?

数值分析五个题目的C语言及Matlab程序

本文档包含上一个文档中的五个数值分析实验题C语言程序及Matlab程序实验一 C程序 #include "stdio.h" #include "math.h" void main() { inti=0; float a=0.1,b=1.9,t=0.0,e=1.9; if((pow(a,7)-28*pow(a,4)+14)*(pow(b,7)-28*pow(b,4)+14)<0) if((7*pow(x,6)-112*pow(x,3))) printf("x=%f,i=%d,e=%f\n",x,i,e); for(i=1;i<7&&e>0.00001;i++) { t=x; x=x-(pow(x,7)-28*pow(x,4)+14)/(7*pow(x,6)-112*pow(x,3)); e=fabs(t-x); printf("x=%f,i=%d,e=%f\n",x,i,e);

} } Matable 程序 i=0; x=1.9;t=0.0;e=1.9; disp(['i=',num2str(i),' ','x=',num2str(x),' ','e=',num2str(e)]); for i=1:7 t=x; x=x-(x^7-28*x^4+14)/(7*x^6-112*x^3); e=abs(t-x); disp(['i=',num2str(i),' ','x=',num2str(x),' ','e=',num2str(e)]); if e<0.00001 break; end end 实验二 C程序 #include"stdio.h" #include"math.h" //已知量 double x[10]={1,2,3,4,5,6,7,8,9,10};

数值计算方法matlab程序

function [x0,k]=bisect1(fun1,a,b,ep) if nargin<4 ep=1e-5; end fa=feval(fun1,a); fb=feval(fun1,b); if fa*fb>0 x0=[fa,fb]; k=0; return; end k=1; while abs(b-a)/2>ep x=(a+b)/2; fx=feval(fun1,x); if fx*fa<0 b=x; fb=fx; else a=x; fa=fx; k=k+1; end end x0=(a+b)/2; >> fun1=inline('x^3-x-1'); >> [x0,k]=bisect1(fun1,1.3,1.4,1e-4) x0 = 1.3247 k = 7 >> 简单迭代法 function [x0,k]=iterate1(fun1,x0,ep,N) if nargin<4 N=500; end if nargin<3 ep=1e-5; end x=x0; x0=x+2*ep;

while abs(x-x0)>ep & k> fun1=inline('(x+1)^(1/3)'); >> [x0,k]=iterate1(fun1,1.5) x0 = 1.3247 k = 7 >> fun1=inline('x^3-1'); >> [x0,k]=iterate1(fun1,1.5) x0 = Inf k = 9 >> Steffesen加速迭代(简单迭代法的加速)function [x0,k]=steffesen1(fun1,x0,ep,N) if nargin<4 N=500; end if nargin<3 ep=1e-5; end x=x0; x0=x+2*ep; k=0; while abs(x-x0)>ep & k

数值分析重要算法的matlab程序

数值分析重要算法的matlab程序 插值多项式:拉格朗日插值 function yh=lagrange(x,y,xh) n=length(x); m=length(xh); yh=zeros(1,m); c1=ones(n-1,1); c2=ones(1,m); for i=1:n xp=x([1:i-1 i+1:n]); yh=yh+y(i)*prod((c1*xh-xp'*c2)./(x(i)-xp'*c2)); end 插值多项式:牛顿插值(以数值实验3.2)为例 function y=ex32 n = 21; x = linspace(-5,5,n)'; h = (5-(-5))/(n-1); y = 1./(1+x.^2); % form the differences table for j = 2:n, y(1:n+1-j,j) = diff(y(1:n+2-j,j-1))./(x(j:n)-x(1:n+1-j)); end % newton coeff y = y(1,:); pz = [ ]; v = linspace(-5,5,80); for t = v, z = y(n); for j = n-1:-1:1, z = z * (t-x(j))+y(j); end pz=[pz z]; end plot(v,pz,'r+-',v,1./(1+v.^2),'g--'); 数值积分:梯形求积公式求积分 function I=ftrapz(fun,a,b,n) h=(b-a)/n; x=linspace(a,b,n+1); y=feval(fun,x); I=h*(0.5*y(1)+sum(y(2:n))+0.5*y(n+1)); 数值积分:抛物型求积公式求积分 function I=fsimpsion(fun,a,b,n) h=(b-a)/n; x=linspace(a,b,2*n+1); y=feval(fun,x); I=(h/6)*(y(1)+2*sum(y(3:2:2*n-1))+4*sum(y(2:2:2*n))+y(2*n+1)); 追赶法解三对角方程组

matlab数值计算(diedai)

Gauss_Seidel迭代法的Matlab程序 function [x]=Gauss_Seidel_iterative(A,b) % 用Gauss_Seidel迭代求解线性方程组,矩阵A是方阵 x0=zeros(1,length(b)); % 赋初值 tol=10^(-2); % 给定误差界 N=1000; % 给定最大迭代次数 [n,n]=size(A); % 确定矩阵A的阶 k=1; % 迭代过程 while k<=N x(1)=(b(1)-A(1,2:n)*x0(2:n)')/A(1,1); for i=2:n x(i)=(b(i)-A(i,1:i-1)*x(1:i-1)'-A(i,i+1:n)*x0(i+1:n)')... /A(i,i); end if max(abs(x-x0))<=tol fid = fopen('G_S_iter_result.txt', 'wt'); fprintf(fid,'\n********用Gauss_Seidel迭代求解线性方程组的输出结果********\n\n'); fprintf(fid,'迭代次数: %d次\n\n',k); fprintf(fid,'x的值\n\n'); fprintf(fid, '%12.8f \n', x); break; end k=k+1; x0=x; end if k==N+1 fid = fopen('G_S_iter_result.txt', 'wt'); fprintf(fid,'\n********用Gauss_Seidel迭代求解线性方程组的输出结果********\n\n'); fprintf(fid,'迭代次数: %d次\n\n',k);

matlab入门经典教程--第四章 数值计算

第四章数值计算 4.1引言 本章将花较大的篇幅讨论若干常见数值计算问题:线性分析、一元和多元函数分析、微积分、数据分析、以及常微分方程(初值和边值问题)求解等。但与一般数值计算教科书不同,本章的讨论重点是:如何利用现有的世界顶级数值计算资源MATLAB。至于数学描述,本章将遵循“最低限度自封闭”的原则处理,以最简明的方式阐述理论数学、数值数学和MATLAB计算指令之间的在联系及区别。 对于那些熟悉其他高级语言(如FORTRAN,Pascal,C++)的读者来说,通过本章,MATLAB 卓越的数组处理能力、浩瀚而灵活的M函数指令、丰富而友善的图形显示指令将使他们体验到解题视野的豁然开朗,感受到摆脱烦琐编程后的眉眼舒展。 对于那些经过大学基本数学教程的读者来说,通过本章,MATLAB精良完善的计算指令,自然易读的程序将使他们感悟“教程”数学的基础地位和局限性,看到从“理想化”简单算例通向科学研究和工程设计实际问题的一条途径。 对于那些熟悉MATLAB基本指令的读者来说,通过本章,围绕基本数值问题展开的容将使他们体会到各别指令的运用场合和在关系,获得综合运用不同指令解决具体问题的思路和借鉴。 由于MATLAB的基本运算单元是数组,所以本章容将从矩阵分析、线性代数的数值计算开始。然后再介绍函数零点、极值的求取,数值微积分,数理统计和分析,拟合和插值,Fourier分析,和一般常微分方程初值、边值问题。本章的最后讨论稀疏矩阵的处理,因为这只有在大型问题中,才须特别处理。 从总体上讲,本章各节之间没有依从关系,即读者没有必要从头到尾系统阅读本章容。读者完全可以根据需要阅读有关节次。除特别说明外,每节中的例题指令是独立完整的,因此读者可以很容易地在自己机器上实践。 MATLAB从5.3版升级到6.x版后,本章容的变化如下: ●MATLAB从6.0版起,其矩阵和特征值计算指令不再以LINPACK和EISPACK库为基础, 而建筑在计算速度更快、运行更可靠的LAPACK和ARPACK程序库的新基础上。因此,虽然各种矩阵计算指令没有变化,但计算结果却可能有某些不同。这尤其突出地表现在涉及矩阵分解、特征向量、奇异向量等的计算结果上。对此,用户不必诧异,因为构成空间的基向量时不唯一的,且新版的更可信。本书新版全部算例结果是在6.x版上给出的。 ●在5.3版本中,泛函指令对被处理函数的调用是借助函数名字符串进行的。这种调用 方式在6.x版中已被宣布为“过渡期允许使用但即将被淘汰的调用方式”;而新的调用方式是借助“函数句柄”进行的。因此,关于述泛函指令,本章新版着重讲述如何使用“函数句柄”,同时兼顾“函数名字符串”调用法。 ●MATLAB从6.0版起,提供了一组专门求微分方程“边值问题”数值解的指令。适应这 种变化,本章新增第4.14.5节,用2个算例阐述求解细节。 ● 5.3版中的积分指令quad8已经废止;6.x版启用新积分指令quad l;6.5版新增三重 积分指令triplequad。本章新版对此作了相应的改变。 4.2LU分解和恰定方程组的解

数值分析matlab程序实例

1,秦九韶算法,求出P(x=3)=2+4x+5x^2+2x^3的值 clear all; x=3; n=3; a(1)=2;a(2)=4;a(3)=5;a(4)=2 v(1)=a(n+1); for k=2:(n+1); v(k)=x*v(k-1)+a(n-k+2); end p=v(n+1) p =, 113 2,一次线型插值程序:利用100.121.求115的开方。 clear all; x1=100;x2=121;y1=10;y2=11; x=115; l1=(x-x2)/(x1-x2);l2=(x-x1)/(x2-x1); p1=l1*y1+l2*y2 p1 = 10.7143 3,分段插值程序,已知为S1(x)为(0,0),(1,1),(2,5)(3, 8)上的分段一次插值,求S1(1.5). clear all x=[0 1 2 3]; y=[0 1 5 8]; n=length(x);a=1.5; for i=2:n if(x(i-1)<=a

end H1=y(i-1)+(y(i)-y(i-1))/(x(i)-x(i-1))*(a-x(i-1)) H1 = 3.5000 4)曲线拟合:用一个5次多项式在区间[0,2π]内逼近函数sin(x)。clear all X=linspace(0,2*pi,50);Y=sin(X); [P,S]=polyfit(X,Y,5) plot(X,Y,'k*',X,polyval(P,X),'k-') P = -0.0056 0.0874 -0.3946 0.2685 0.8797 0.0102 S = R: [6x6 double] df: 44 normr: 0.0337 5)求有理分式的导数 clear all P=[3,5,0,-8,1,-5]; Q=[10,5,0,0,6,0,0,7,-1,0,-100]; [p,q]=polyder(P,Q) 6)将以下数据按从小到大排序:4.3 5.7 5.2 1.8 9.4 a=[4.3 5.7 5.2 1.8 9.4];b(1:100)=0;n=1; b(a*10)=1; for k=1:100 a(n)=k/10; if b(k)>0 a(n)=k/10; n=n+1; end end a a =

(完整版)第一讲Matlab基本数值计算.doc

2012 年数学建模培训材料——Matlab 软件的使用 第一讲Matlab基本数值计算 一、矩阵 在Matlab 中,一个矩阵可以使数学意义上的矩阵,也可以是标量或者向量。对于一个标量(一个数)可以将之作为 1 1的矩阵,而向量(一行或一列)则可以认为是 1 n 或者 n 1的矩阵。另外,一个 0 0 矩阵在 Matlab 中被认为是空矩阵,用“[] ”表示。 1、矩阵的创建 矩阵的创建可以有以下几种形式 ⑴直接输入 >> A=[1 2 3;4 3 7;2 4 1] 注意:每行间的元素用逗号或空格分开,行与行之间用分号或回车分开,矩阵标示是一对中括号[ ] 。 也可以采用数组编辑器(Array Editor )像在 Excel 电子表格中据那样输入数据。 ⑵通过语句和函数产生 常用的特殊矩阵: zeros:全零矩阵 ,ones:全 1 矩阵, eye:单位矩阵, rand:随机矩阵, diag:对角阵等。 例: >> A=ones(3,4) >>E=eye(3) >>D=diag([3 5 2]) ⑶对矩阵进行裁剪或拼接 ⑷从外部文件装入数据

外部数据文件可以是以保存的Matlab 工作空间,也可以是文本(.txt)文件,或者是电子表格创建的文件( .xls). 例:已知一个文本格式的数据文件 E:\Mathmodel\data1.txt >> load e:\Mathmodel\data1.txt 得到一个变量名与文件名相同的矩阵(data1)。注意:文件的扩展名不能省略。 例:已知一个 Excel 文件的路径为E:\Mathmodel\data2.xls a. 缺省操作 : >> NUMBER=xlsread('E:\Mathmodel\data2.xls') >>[NUMBER,TXT]=xlsread('E:\Mathmodel\data2.xls') 默认操作是从第一个工作表(sheet1)中提取数据。 b.从指定的工作表(而不是第一个)中提取数据: >> NUMBER=xlsread('E:\Mathmodel\data2.xls','S2') 或者 >>NUMBER=xlsread('E:\Mathmodel\data2.xls',2) c.从指定的工作表中读取指定区域的数据: >>NUMBER=xlsread('E:\Mathmodel\data2.xls',2,'g3:i8') 2、Matlab 的矩阵运算 ⑴基本运算 矩阵的加( +)、减( -)、乘( * )、乘方( ^)运算法则与代数中的定义完全一致。例如: >>A=[1 2;3 4];B=[3 1;4 8];

相关文档
最新文档