• 大小: 2KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-05-11
  • 语言: Matlab
  • 标签: matlab  

资源简介

冲击电流发生器的matlab程序,需先在matlab命令窗口输入需要的R/L/C参数,或自行增加参数输入语句,仅作参考

资源截图

代码片段和文件信息

function[imim1tmtm1tftt]=cjdlfsq_1(RLC)      %P262冲击电流发生器FORTRAN改编程序
dtf=0.05;
dtt=0.1;
u=122.5;
nm=280;
i=zeros(999);
t=zeros(999);
for k=1:nm
    t(k+nm)=k*dtt;
    t(k)=k*dtf;
end
for k=1:nm
    t(k+2*nm)=(nm+k)*dtt;
end
af=R/(2.0*L);
w0=1.0/sqrt(L*C);
afd=sqrt(af*af-w0*w0);
w=sqrt(w0*w0-af*af);
if ((af-w0)<0)
    for j=1:3*nm
        i(j)=u*exp(-af*t(j))*sin(w*t(j))/(w*L);
    end
    bt=atan(w/af);
    tm1=bt/w;
    disp([‘计算峰值时间Tm1为: ‘num2str(tm1)‘ μs‘]);
    im1=u*exp(-af*bt/w)/sqrt(L/C);
    disp([‘计算电流峰值Im1为: ‘num2str(im1)‘ kA‘]);
elseif ((af-w0)==0)
    for j=1:2*nm;
        i(j)=u*t(j)*exp(-af*t(j))/L;
    end
    tm1=sqrt(L*C);
    im1=u*sqrt(C/L)*exp(-1.0);
else
    p1=-af+afd;
    p2=-af-afd;
    for j=1:2*nm
        i(j)=u*(exp(p1*t(j))-exp(p2*t(j)))/(L*(p1-p2));
    end
    tm1=log(p2/p1)/(p1-p2);
    im1=u*(exp(p1*tm1)-exp(p2*tm1))/(L*(p1-p2));
end
im=i(1);
for j=1:nm
    if(i(j)>im)
        im=i(j);
    end
end
disp([‘实际电流峰值Im为:

评论

共有 条评论