Loop over a vector and store value in new vector error

Hello,
I am currently trying to loop over a vector b1 and store the new values in a vector m1. I have the following code:
r1 = 4
r2 = 3
b1 = [0.8,0,0,0.1,0.1,0,0]
for i = b1(1:6)
m1(i)= (1/(1+w1-r1))*(w1*i)
end
But MATLAB states "Attempted to access m1(0.8); index must be a positive integer or logical". Is there any command I could use that support non-integers?

 채택된 답변

Star Strider
Star Strider 2017년 7월 31일
In MATLAB, subscripts must be integers greater than zero.
This would work:
w1 = 42; % Create Data
r1 = 4
r2 = 3
b1 = [0.8,0,0,0.1,0.1,0,0]
for i = 1:numel(b1)
m1(i)= (1/(1+w1-r1))*(w1*b1(i));
end

댓글 수: 2

It works, thank you very much!
As always, my pleasure!

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2017년 7월 31일

댓글:

2017년 7월 31일

Community Treasure Hunt

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

Start Hunting!

Translated by