Non-integer value in for-loop

6 visualizaciones (últimos 30 días)
U B
U B el 5 de Oct. de 2024
Comentada: Walter Roberson el 5 de Oct. de 2024
Probably a simple question but why non-integer value can't be used in for-loop.
for i=0:.1:1
H(i)=10*i ;
end
H
how do i use any non-integer value in for-loop?
Appriciate your help.

Respuesta aceptada

Star Strider
Star Strider el 5 de Oct. de 2024
One approach —
iv = 0:.1:1;
for i = 1:numel(iv)
H(i)=10*iv(i) ;
end
H
H = 1×11
0 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
.

Más respuestas (1)

Voss
Voss el 5 de Oct. de 2024

You can't use a number that's not a positive integer as an index, as in H(i) when i is 0 or 0.1, etc.. That's the problem.

vals = 0:0.1:1; % linspace(0,1,11) might be better
N = numel(vals);
H = zeros(1,N); % pre-allocate H
for i = 1:N
    H(i) = 10*vals(i);
end

If that's all the loop does, you don't need it:

vals = 0:0.1:1;
H = 10*vals;

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by