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?

 Respuesta aceptada

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 comentarios

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 31 de Jul. de 2017

Comentada:

el 31 de Jul. de 2017

Community Treasure Hunt

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

Start Hunting!

Translated by