Error using <= Not enough input arguments
1 view (last 30 days)
Show older comments
This is my matlab code, it shows me error.
%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
%start with flux linkage
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.kphi;;
%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;
Dot indexing is not supported for variables of this type.
I corrected it but still shows me :Dot indexing is not supported for variables of this type.
0 Comments
Answers (1)
Walter Roberson
on 15 Jun 2021
Reff= Ric+Rbuc+2*Rg+2*Rluc;
That is a mathematical computation. The result is going to be numeric.
F=Reff.kphi;;
Reff is numeric, not a structure, and not an OOP object. It does not have any field or property named kphi
You do not have any variable named kphi
But perhaps what you intended was
F=Reff.*phi;;
5 Comments
Walter Roberson
on 15 Jun 2021
plot(i, lambda);
You have not assigned to i anywhere in the code, so i has its default value as a function that returns the scalar sqrt(-1)
lambda= linspace(0,0.08,1000);
lambda is your independent variable. Why are you trying to plot() it in the dependent-variable position of the plot() call?
See Also
Categories
Find more on Purple in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!