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

20 visualizaciones (últimos 30 días)
悠真 松本
悠真 松本 el 3 de Jul. de 2021
Comentada: 悠真 松本 el 3 de Jul. de 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の行を超えていません。

Respuesta aceptada

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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!