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

5 Ansichten (letzte 30 Tage)
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);

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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);

Weitere Antworten (1)

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

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by