Subscript indices must either be real positive integers or logicals how can I fix it?

1 view (last 30 days)
I am trying to plot this equation but I get error message.
K=9*10^9; e= 1.6*10^-19; p=0.33*10^-10; Alpha=1.09*10^3;
r=10^-10*linspace(33,500,10 );
V(r)=-K*(e^2./r)+ Alpha*exp(-r./p);
whos
plot(r,v);

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jan 2017
You cannot fix it without changing what you are trying to do. You need to decide whether you are trying to define a formula for V(r), or if you are trying to assign V as an array of results. As a formula, you could have V(r) on the left hand side, but you would have had to not assign specific numeric values to r. If you are trying to assign V as an array of results, then you cannot use V(r) because you cannot index arrays at floating point numbers.
Your easiest fix would be
V=-K*(e^2./r)+ Alpha*exp(-r./p);
plot(r, V);

More Answers (1)

fs
fs on 19 Jan 2017
Thank you very much for a quick respond and clear explanation.

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!