Non-integer value in for-loop

3 ビュー (過去 30 日間)
U B
U B 2024 年 10 月 5 日
コメント済み: Walter Roberson 2024 年 10 月 5 日
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 日
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 日

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;

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by