Rumah > masalah biasa > 数组索引必须为正整数或逻辑值

数组索引必须为正整数或逻辑值

(*-*)浩
Lepaskan: 2019-12-11 09:46:36
asal
78322 orang telah melayarinya

数组索引必须为正整数或逻辑值

MATLAB 索引数组时,如果使用不是正整数或逻辑值的索引值时,会发生此报错。

以下是导致此报错时的一些建议:                            (推荐学习:web前端视频教程

1)仔细检查索引值是否为正整数。MATLAB 中的索引不能为 0,一般情况下从1开始。

2)如果使用逻辑变量索引,请确保索引数组类型为逻辑变量,而不是由1和0组成的double数组。也可以在索引前,将double数组转换为逻辑数组。

例如:

A = [1 2 3 4; 5 6 7 8];
ind_double = [0 1 0 1; 0 1 0 1];
ind_logical = logical(ind_double);
A(ind_logical)
Salin selepas log masuk

对索引数组,可以通过 whos 函数查看数据类型,例如:

whos ind_double
whos ind_logical
Salin selepas log masuk

3)如果使用浮点算法来计算索引数组, 则数组值可能不是整数精度。如果知道索引值非常接近整数,则可以用 round 函数,例如:

A = [1 2 3 4; 5 6 7 8];
ind_float = 2.00001;
ind_int = round(ind_float);
A(ind_float)
Salin selepas log masuk

4)当定义了一个与 MATLAB 内建函数重名的变量时,该函数会被覆盖,于是产生同样的报错(调用函数的传参和数组索引都使用相同的括号),例如:

max = rand(5);  
A = rand(5);  
max(A)
Salin selepas log masuk

此时,需要另外分配变量名,并清除冲突的变量名:

B = max;  
clear max max(A)
Salin selepas log masuk

Atas ialah kandungan terperinci 数组索引必须为正整数或逻辑值. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan