Array indices must be positive integers or logical values.ERROR

1 view (last 30 days)
for d=0:5:50
Pl=40*log(d)-(10*log(gt)+10*log(gr_s)+20*log(ht)+20*log(hr));
Rss= pt+gt+gr_s-L50-L;
SNIR= Rss/n+I;
c=B*log(1+SNIR);
throuput1=(c(B*log(1+SNIR)));
end

Answers (2)

Walter Roberson
Walter Roberson on 12 Nov 2019
c(B*log(1+SNIR)) is a request to index the variable c at the computed value. MATLAB does not have any implicit multiplication: if you want multiplication you need the * or .* operator.

David Hill
David Hill on 12 Nov 2019
throuput1=(c*(B*log(1+SNIR)));%I think you left out a * (c*...) otherwise you are trying to index into c
Also, log(0) will be -inf. Do you want to start out at d=0?

Tags

Community Treasure Hunt

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

Start Hunting!