位置 1 のインデックスが無効​です。配列インデック​スは正の整数または logical 値でなければなりません。

24 Ansichten (letzte 30 Tage)
悠真 松本
悠真 松本 am 3 Jul. 2021
Kommentiert: 悠真 松本 am 3 Jul. 2021
X = cat(2,Z,Y);
all = [];
all = zeros(1800000,6);
all(:,1) = 0.001:0.001:1800;
el = length(X);
for i = 2:el
a = X(i,1)/0.001;
all(a,2) = X(i,2);
end
というプログラムを実行すると、「位置 1 のインデックスが無効です。配列インデックスは正の整数または logical 値でなければなりません。」というエラーが出ます。0番目にアクセスしているわけではないのになぜこのようなエラーが出るのでしょうか?
なおall = 1800000×6 double, el = 1386で i=1の時a=1.6887e+04ですのでallの行を超えていません。

Akzeptierte Antwort

Atsushi Ueno
Atsushi Ueno am 3 Jul. 2021
配列のインデックスはエラーの表記通り「正の整数または logical 値でなければなりません」
Xの値が不明ですが、
a = fix(X(i,1)/0.001);
等としてaの値を整数値に丸めればエラーは解消します。
  1 Kommentar
悠真 松本
悠真 松本 am 3 Jul. 2021
ありがとうございます、できるようになりました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!