Index exceeds matrix dimensions.
Error in test2 (line 20) C2(i) = B*log2(1+min(i));

 Akzeptierte Antwort

KL
KL am 2 Nov. 2017
Bearbeitet: KL am 2 Nov. 2017

0 Stimmen

you're getting the error because you forgot to index B,
C2(i) = B(i)*log2(1+min(i))
But anyway, what do you even mean by min(i), i in your case is just a scalar.
I'd recommend you to rename the loop varible , i, to something else since i is the default imaginary unit in matlab. Nextly, pre-allocate A, B, C2 and d properly. For example,
A = zeros(1,length(ro_db))
TIP: when you see read underlines on your code, it means matlab is trying to help you by giving some warning and even recommendations, do not ignore them.

2 Kommentare

Muneeb Ahmad
Muneeb Ahmad am 2 Nov. 2017
Subscript indices must either be real positive integers or logicals.
Error in test2 (line 18) C2(i) = B*log2(1+(min(A,B)));
still getting this error others things are ok now.
KL
KL am 2 Nov. 2017
Bearbeitet: KL am 2 Nov. 2017
Again, you're not indexing A or B in your equation!
C2(i) = B(i)*log2(1+min(A(i),B(i)))

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Gefragt:

am 2 Nov. 2017

Bearbeitet:

KL
am 2 Nov. 2017

Community Treasure Hunt

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

Start Hunting!

Translated by