i keep getting this error Error using griddedInterpolant The coordinates of the input points must be finite values; Inf and NaN are not permitted.

10 vues (au cours des 30 derniers jours)
clc
clear
%%%%%%%%%solving%%%%%%%%%%%
%%%%%%%%%%%%%%Inputs%%%%%%%
N=input('Set Your Desired Speed : ');
R1=input('Set Your Desired R1main : ');
X1=input('Set Your Desired X1main : ');
R2=input('Set Your Desired R2main : ');
X2=input('Set Your Desired X2main : ');
Xm=input('Set Your Desired XMmain : ');
Ploss=input('Set Your Desired Fric. & Wind. losses: ');
Freq=input('Set Your Desired Frequency : ');
Vrated=input('Set Your Desired Rated Voltage : ');
OPtorq=input('Set Your Desired Operating Torque : ');
Pratedx=input('Set Your Desired Rated Power(HP) : ');
Two_P=input('Set Your Desired Number Of Poles : ');
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%Calc%%%%%%%%%
Prated=Pratedx*746;
P=Two_P/2;
Ns=(60*Freq)/P;
W=(2*pi*N)/60;
Ws=(2*pi*Ns)/60;
Z1=complex(R1,X1);
Zm=complex(0,Xm/2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%PRINTING_CALC%%%%%%%%%%%
S_int=1-(N/Ns);
Zfx_int=complex(R2/(2*S_int),X2/2);
Zbx_int=complex(R2/(2*(2-S_int)),X2/2);
Zf_int=(Zm*Zfx_int)/(Zm+Zfx_int);
Zb_int=(Zm*Zbx_int)/(Zm+Zbx_int);
Zeq_int=Z1+Zf_int+Zb_int;
I_int=Vrated/Zeq_int;
Isq_int=abs(I_int)^2;
Rf_eq_int=real(Zf_int);
Rb_eq_int=real(Zb_int);
Pg_f_int=Isq_int*Rf_eq_int;
Pg_b_int=Isq_int*Rb_eq_int;
Pg_eq_int=Pg_b_int+Pg_f_int;
Pcu_int=Isq_int*R1;
Pin_int=Pg_eq_int+Pcu_int;
Pd_int=((1-S_int)*Pg_f_int)-((1-S_int)*Pg_b_int);
Pout_int=Pd_int-Ploss;
Total_Ploss_int=Pin_int-Pout_int;
Torque_int=Pg_eq_int/Ws;
PowerFactor_int=Pin_int/(sqrt(Isq_int)*Vrated);
Efficiency_int=(Pout_int/Pin_int)*100;
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%PRINTING%%%%%%%%%%
disp('--------------------------------------------------------------');
disp('--------------------------------------------------------------');
fprintf('Input Current : %1.3f A \n',abs(I_int));
fprintf('Power Loases : %1.3f Watt\n',abs(Total_Ploss_int));
fprintf('Input Power : %1.3f Watt\n',abs(Pin_int));
fprintf('Output Power : %1.3f Watt\n',abs(Pout_int));
fprintf('Power Factor : %1.3f \n',abs(PowerFactor_int));
fprintf('Efficiency : %1.3f \n',abs(Efficiency_int));
fprintf('Torque : %1.3f N.M.\n',abs(Torque_int));
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%PLOTTING_LOOP%%%%%
count=1;
for S=1:-0.0001:-0.125
Zfx(count)=complex(R2/(2*S),X2/2);
Zbx(count)=complex(R2/(2*(2-S)),X2/2);
Zf(count)=(Zm*Zfx(count))/(Zm+Zfx(count));
Zb(count)=(Zm*Zbx(count))/(Zm+Zbx(count));
Zeq(count)=Z1+Zf(count)+Zb(count);
I(count)=Vrated/Zeq(count);
Isq(count)=abs(I(count))^2;
Rf_eq(count)=real(Zf(count));
Rb_eq(count)=real(Zb(count));
Pg_f(count)=Isq(count)*Rf_eq(count);
Pg_b(count)=Isq(count)*Rb_eq(count);
Pg_eq(count)=Pg_b(count)+Pg_f(count);
Pcu(count)=Isq(count)*R1;
Pin(count)=Pg_eq(count)+Pcu(count);
Pd(count)=((1-S)*Pg_f(count))-((1-S)*Pg_b(count));
Pout(count)=Pd(count)-Ploss;
Total_Ploss(count)=Pin(count)-Pout(count);
Torque(count)=Pg_eq(count)/Ws;
PowerFactor(count)=Pin(count)/(sqrt(Isq(count))*Vrated);
Efficiency(count)=(Pout(count)/Pin(count))*100;
counter(count)=S;
linxe(count)=OPtorq;
count=count+1;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%PLOTTING%%%%%%%%%
figure;
plot(counter,Torque);
hold on
plot(counter,linxe);
title('Torque vs Speed');
set ( gca, 'xdir', 'reverse' )
xlabel('Speed'),ylabel('Torque');
grid on
dbstop if naninf
OPtorq_s=interp1(Torque,counter,OPtorq);
OPtorq_Speed=(Ns-(OPtorq_s*Ns));
fprintf('OPtorq Speed : %1.3f A \n',OPtorq_Speed);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%CODE END%%%%%%%%%%%%%%%%%%%%%%%%
inputs sets :
Set Your Desired Speed : 1750
Set Your Desired R1main : 2
Set Your Desired X1main : 2.56
Set Your Desired R2main : 2.8
Set Your Desired X2main : 2.56
Set Your Desired XMmain : 60.5
Set Your Desired Fric. & Wind. losses: 51
Set Your Desired Frequency : 60
Set Your Desired Rated Voltage : 120
Set Your Desired Operating Torque : 0.4
Set Your Desired Rated Power(HP) : 0.25
Set Your Desired Number Of Poles : 4

Réponse acceptée

Cris LaPierre
Cris LaPierre le 24 Mai 2020
See the suggestions in this post.
The issue is caused when Torque=NaN. This happens in point 10001, which corresponds to S=0. This traces back to the formula for Zfx:
Zfx(count)=complex(R2/(2*S),X2/2);
R2/(2*S) is the same as R2/0 or Inf.

Plus de réponses (0)

Tags

Produits


Version

R2017a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by