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

 채택된 답변

KL
KL 2017년 11월 2일
편집: KL 2017년 11월 2일

0 개 추천

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

Muneeb Ahmad
Muneeb Ahmad 2017년 11월 2일
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 2017년 11월 2일
편집: KL 2017년 11월 2일
Again, you're not indexing A or B in your equation!
C2(i) = B(i)*log2(1+min(A(i),B(i)))

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

질문:

2017년 11월 2일

편집:

KL
2017년 11월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by