# Imaginary parts of complex X and/or Y arguments ignored

3 views (last 30 days)
sara07x x on 15 Jun 2021
Commented: KSSV on 16 Jun 2021
> %computation of lambda - i curve
clear all
close all
%assign parameters
cm = 1e-2;
mm = 1e-2;
w=1*cm; %core width
Ws=5*cm; %slot width
ds=2*cm; %slot depth
d=5*cm; %depth
g=1*mm; %air gap
N=100; %number of turns
muo=4e-7*pi; %perm of free space
Bsat=1.3; %sat flux density
mur=1500; %init rel permeability
Am=w*d; %mag cross section
lambda= linspace(0,0.08,1000);
%find flux, B, mu
phi=lambda/N;
B=phi/(w*d);
mu= muo *(mur-1)./(exp(10*(B-Bsat)).^2+1)+ muo;
%assign reluctance
Ric=(Ws+w)./(Am*mu);
Rbuc=(Ws+w)./(Am*mu);
Rg=g/(Am*muo);
Rluc= (ds+w/2)./(Am*mu);
%compute effective reluctance
Reff= Ric+Rbuc+2*Rg+2*Rluc;
%compute mmf and current
F=Reff.*phi;;
%find the characteristics
figure(1)
plot(i, lambda);
xlabel ('i,A');
ylabel ('\lambda, Vs');
grid on;
%show B-H characteristics
H=B/mu;
figure (2)
plot (H,B);
xlabel('H')
ylabel('B')
grid on;
Warning: Imaginary parts of complex X and/or Y arguments ignored.
it shows me this warning, also shows me empty figures.

KSSV on 15 Jun 2021
plot(i, lambda);
The above line is not correct. LAst lines should be repalced with.
H=B./mu;
figure (2)
plot (H,B);
xlabel('H')
ylabel('B')
grid on;
##### 2 CommentsShowHide 1 older comment
KSSV on 16 Jun 2021
plot(i, lambda);
The above line is not correct. i here is an imaginary number and lambda is an array. You want to plot lambda w.r.t what?
plot(lambda)
the above will work.