Non-integer value in for-loop

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.

1 件のコメント

Walter Roberson
Walter Roberson 2024 年 10 月 5 日
What does H(0.1) = value mean?

サインインしてコメントする。

 採用された回答

Star Strider
Star Strider 2024 年 10 月 5 日

1 投票

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>
.

その他の回答 (1 件)

Voss
Voss 2024 年 10 月 5 日

0 投票

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;

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

U B
2024 年 10 月 5 日

コメント済み:

2024 年 10 月 5 日

Community Treasure Hunt

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

Start Hunting!

Translated by