Error of the following code : "Array indices must be positive integers or logical values."

1 回表示 (過去 30 日間)
Amit Chakraborty
Amit Chakraborty 2022 年 1 月 4 日
回答済み: Cris LaPierre 2022 年 1 月 4 日
% I have attached the file for : "ind" ; "len"; "miu".
% In the following code "line : freq(j)" I am having above mentioned error.
% Any kinds of help to solve the problem will be appreciated.
Nvar = 65536;
freq = zeros(Nvar,1);
for j = 1:Nvar
len = cell2mat(length_ijk(j));
ind = cell2mat(index_ijk(j));
freq(j) = exp(-sum(miu(ind).*len));
end

回答 (2 件)

Constantino Carlos Reyes-Aldasoro
Constantino Carlos Reyes-Aldasoro 2022 年 1 月 4 日
Not very clear, what are length_ijk and index_ijk? in the files you have added, miu has 262144 values, ind has 77 and freq has 65536.

Cris LaPierre
Cris LaPierre 2022 年 1 月 4 日
Not enough info to say for sure, but I suspect at some point, ind contains values that are not positive integers or logical values, causing miu(ind) to throw an error.
A = 1:3;
% works
A(2)
ans = 2
% your error
A(0)
Array indices must be positive integers or logical values.

カテゴリ

Help Center および File ExchangeOther Formats についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by