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

4 views (last 30 days)
% 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));

Answers (2)

Constantino Carlos Reyes-Aldasoro
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 on 4 Jan 2022
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
ans = 2
% your error
Array indices must be positive integers or logical values.


Community Treasure Hunt

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

Start Hunting!