Array index error help
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2018-11-24
An is a scalar, not an array, so perhaps you meant:
rn = (An*(1-(En^2)))./(1+En*cos(thn));
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Performance and Memory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!