Array index error help
1 view (last 30 days)
Show older comments
Scott Hunter
on 24 Nov 2018
Commented: Scott Hunter
on 25 Nov 2018
Can anyone explain to me why I'm geeting an array indexing error for this script?
Array indices must be positive integers or logical values.
"Error in Finding_rp_test (line 32)
rn = (An(1-(En^2)))./(1+En*cos(thn));"
It's in the last line where I assign rn (Intending on running this for an array of 't' not just a single value).
An = 178942976.896420
En = 0.1781
t = 1
Mn = Nn*t;
EE0n = Mn;
DEEn = ((Mn-EE0n)+En*sin(EE0n))./(1-En*cos(EE0n));
if En==0
thn = Mn;
else
while DEEn>10^-12
DEEn = (Mn-EE0n+(En*sin(EE0n)))./(1-(En*cos(EE0n)));
EE0n = EE0n + DEEn;
thn = 2*atan((((1+En)./(1-En))^0.5)*tan(EE0n./2));
end
end
rn = (An(1-(En^2)))./(1+En*cos(thn));
0 Comments
Accepted Answer
Image Analyst
on 24 Nov 2018
An is a scalar, not an array, so perhaps you meant:
rn = (An*(1-(En^2)))./(1+En*cos(thn));
More Answers (0)
See Also
Categories
Find more on Performance and Memory 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!