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

1 次查看(过去 30 天)
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);

采纳的回答

Walter Roberson
Walter Roberson 2017-1-19
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);

更多回答(1 个)

fs
fs 2017-1-19
Thank you very much for a quick respond and clear explanation.

类别

Help CenterFile Exchange 中查找有关 Operators and Elementary Operations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by