⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sprec.m

📁 Matlab实现无刷直流电机控制系统建模仿真.zip
💻 M
字号:
%This programme solves various formulaes for single phase half wave rectifier
%This function runs independently as well as with "power_electronics"
%In order to execute this function type ''sprec'' on command prompt
function s=sprec(varargin)

fprintf('Welcome From Worldhitter')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    fprintf('Provide The Following Data')
    Vm=input('\nEnter The Value of Peak Voltage(Volts) :')
    Vs=input('Enter The Value Of Secondary Voltage(Volts) :')
    Is=input('Enter The Value Of Secondary Current(Amperes) :')
    phi=input('Enter The Value Of Phase Angle(Degrees) :')
    Is1=input('Enter The Value Of Component Of Secondary Current(Amperes) :')
    Isp=input('Enter The Value Of Peak Current(Amperes) :')
    R=input('Enter The Value Of Resistence(Ohms): ')
    pause(1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    o=menu('Performance Parameters(Plz Select)' ,' Dc Voltage(Vdc)','Dc Current(Idc)','Root Mean Square Voltage(Vrms)','Root Mean Square Current(Irms)','Ac Voltage(Vac)','Dc Power(Pdc)','Ac power(Pac)','Form Factor(FF)','Ripple Factor(RF)','Transformer Utilization Factor(TUF)','Displacement Factor(DF)','Harmonic Factor','Power Factor','Crest Factor(CF)','Area calculation(Integeration)');
    fprintf('Wait For 2 Seconds')
    pause(2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    if(o == 1)
       fprintf('\nThe Magnitude Of Dc Voltage Is As Under')
       Vdc=Vm/pi
    %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       Data=1:64;Data=(Data'*Data)/64;
       CreateStruct.WindowStyle='replace';
       CreateStruct.Interpreter='tex';
       h=msgbox('Vdc=Vm*sin(wt)/pi','Graph Equation','custom',Data,hsv(64),CreateStruct);
       pause(1)
       closereq
       msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
       pause(1)
       closereq   
       thanks4(1,1) %Function call
    %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
elseif(o == 2)
        fprintf('\nThe Magnitude Of Dc Current Is As Under')
        Idc=Vm/pi*R
        fprintf('Proceeding Towards The Graph')
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Idc=Vm/pi*R','Graph Equation','custom',Data,bone(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call
     %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   elseif(o == 3)
        fprintf('\nThe Magnitude Of Rms Voltage Is As Under')
        Vrms=Vm/2
        fprintf('Proceeding Towards The Graph')
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Vrms=Vm/2','Graph Equation','custom',Data,winter(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call      
       %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   elseif(o == 4)
    
         fprintf('\nThe Magnitude Of Rms Current Is As Under')
        Irms=Vm/2*R;
        fprintf('Proceeding Towards The Graph')
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Irms=Vm/2*R','Graph Equation','custom',Data,copper(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   elseif(o == 5)
        fprintf('\nThe Magnitude Of Ac Voltage Is As Under')
        Vrms=Vm/2;
        Vdc=Vm/pi;
        Vac=sqrt(Vrms^2 - Vdc^2)
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Vac=sqrt(Vrms^2 - Vdc^2)','Equation','custom',Data,hot(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
   elseif(o == 6)
       
       fprintf('\nThe Magnitude Of Dc Power Is As Under')
       Vdc=Vm/pi;
       Idc=Vm/pi*R;
       Pdc=Vdc*Idc
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Pdc=Vdc*Idc','Equation','custom',Data,hot(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
     elseif(o == 7)
        fprintf('\nThe Magnitude Of Ac Power Is As Under')
        Vrms=Vm/2;
        Irms=Vm/2*R;
        Pac=Vrms*Irms
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('Pac=Vrms*Irms','Equation','custom',Data,hot(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call 
        %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
     elseif(o == 8)
      fprintf('\nThe Form Factor Is As Under')
      Vrms=Vm/2;
      Vdc=Vm/pi;
      FF=Vrms/Vdc
       %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('FF=Vrms/Vdc','Equation','custom',Data,summer(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,gray(64))
        pause(1)
        closereq   
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 9)
        fprintf('\nThe Ripple Factor Is As Under')
        Vrms=Vm/2;
        Vdc=Vm/pi;
        RF=sqrt(Vrms^2 - Vdc^2)/Vdc
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('RF=sqrt(Vrms^2 - Vdc^2)/Vdc','Equation','custom',Data,flag(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,spring(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 10)
        fprintf('\nThe Transformer Utilization  Factor Is As Under')
        Idc=Vm/pi*R;
        Vdc=Vm/pi;
        Pdc=Vdc*Idc;
        TUF=Pdc/(Vs*Is)
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('TUF=Pdc/(Vs*Is)','Equation','custom',Data,autumn(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 11)
        fprintf('\nThe Displacement  Factor Is As Under')
        DF=cos(phi)
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('DF=cos(phi)','Equation','custom',Data,lines(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 12)
        fprintf('\nThe Harmonic Factor Is As Under')
        HF=sqrt((Is/Is1)^2 -1)
         %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('HF=sqrt((Is/Is1)^2 -1)','Equation','custom',Data,prism(64),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 13)
        fprintf('\nThe  Power Factor Is As Under')
        PF=Is1/Is*cos(phi)
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('PF=Is1/Is*cos(phi))','Equation','custom',Data,white(128),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 
        %$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    elseif(o == 14)
        fprintf('\nThe  Crest Factor Is As Under')
        CF=Isp/Is
        %^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        Data=1:64;Data=(Data'*Data)/64;
        CreateStruct.WindowStyle='replace';
        CreateStruct.Interpreter='tex';
        h=msgbox('CF=Isp/Is)','Equation','custom',Data,hsv(128),CreateStruct);
        pause(1)
        closereq
        msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
        pause(1)
        closereq 
        thanks4(1,1) %Function call 

 %&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
elseif(o == 15)
       fprintf('\nIn Order To See The Input Wave Form Watch Out')
       wt=0:pi/100:2*pi;
       Vs=Vm*sin(wt);
       l=menu('Choose The Line Style','-','--',':','.','-.')
       type=['-','--',':','.','_.'];
        plot(wt,Vs,type(l))
        m=menu('Choose A Data Marker','+','o','*','x','.','s','d','^','v','>','<','p','h');
        type=['+','o','*','x','.','s','d','^','v','>','<','p','h'];
        plot(wt,Vs,type(m) )
        hold on
        c=menu('Choose The Line Color','r','g','b','c','m','y','k','w','Strange')
        type=['r','g','b','c','m','Vc','k','w','Strange'];
        plot(wt,Vs,type(c))
        hold off
        pause(1)
     if (c == 9)
                plot(wt,Vs,'-mo',...
                'LineWidth',2,...
                'MarkerEdgeColor','k',...
                'MarkerFaceColor',[.49 1 .63],...
                'MarkerSize',12)
        
       xlabel('wt')
       ylabel('Vs')
       pause(1)
       closereq
   end
    
        fprintf('\nWe Can Use Intergeration Instead Using The Preintegrated Relations Following Are The Examples')
       pause(2)
       fprintf('\n\nNow We Integerate The Above Graph By Varous Methods')
       x=0:pi/100:2*pi;
       y=Vm*sin(wt);
       plot(x,y)
       pause(2)

       fprintf('\nUsing Trapezoidal Rule')
       area=trapz(x,y)
       pause(1)
       closereq
       pause(1)
       fprintf('\nCumulative Integrals Are Calculated as')
    z=cumtrapz(x,y);
    plot(x,y,x,z)
    xlabel('wt')
    ylabel('Function Response With Time')
    pause(2)
    closereq
    pause(1)
%     fprintf('\n\n\n\nTo Get The Results Being Approximated Using Quadratue Rule Watch Out')
%     fprintf('\nUsing Previous Data')
% Vm=24;
% wt=0:pi/100:2*pi;
% quadl(voltage,0,180)
      Data=1:64;Data=(Data'*Data)/64;
      msgbox('Thanx For Using My Programme ','','custom',Data,cool(64))
      pause(1)
      closereq
      thanks4(1,1) %Function call 
   end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -