MATLAB: I make this programme in order to get a plot in physics ,, but when i run it ,, i get error which i cant identify and correct it .. please i want a help to identify the correct

equationgraphicsphysicsplottingsimulation

syms x;
syms E;
syms A;
syms B;
syms K;
syms T;
syms v;
n=1*10^19; %number of electrons
area=1*10^-3; %area
A=2;
w=1*10^-4; %width
q=1.6*10^-19;
h=6.6*10^-34;
v=1*10^6; % electron velocity
K=1.38*10^-23; %boltzman constant
m=0.5; %effective mass
Va=0.1:0.1:5 %applied voltage
E=Va/w;
x=(q*Va)/w;
B=A*x.^2;
a=sqrt((E-A)./B);
Twkb=(1./(sqrt(2*m*B*((a.^2)+1./(x^2))))).*exp((2*sqrt(2*m*B/(h^2))).*((-sqrt(a.^2+(1./x^2))./(1/x))+log((1/x)+sqrt(a.^2+(1./x^2)))));
I=area.*q.*v.*n.*Twkb;
semilogy(Va ,I ,'*','r')
xlabel('Applied Voltage (Va)in Volts')
ylabel('current in(A)')

Best Answer

Aalaa - I suspect the problem is with (at least)
x^2
x appears to be a 1x50 array and so the error message is telling you that is is invalid for the ^ operation since we can only use ^ if the x is a scalar or a square matrix. Are you trying to square each element of x? If so, then use
x.^2
instead.