MATLAB Answers

Error using <= Not enough input arguments

2 views (last 30 days)
sara07x x
sara07x x on 15 Jun 2021
Commented: Walter Roberson on 15 Jun 2021
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
mu= muo *(mur-1)./(exp(10*(B-Bsat)).^2+1)+ muo;
%assign reluctance
Rluc= (ds+w/2)./(Am*mu);
%compute effective reluctance
Reff= Ric+Rbuc+2*Rg+2*Rluc;
%compute mmf and current
%find the characteristics
plot(i, lambda);
xlabel ('i,A');
ylabel ('\lambda, Vs');
grid on;
%show B-H characteristics
figure (2)
plot (H,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.

Answers (1)

Walter Roberson
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.
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
Walter Roberson
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?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!