Error using Zeros, size input must be integers.
17 views (last 30 days)
Show older comments
Hi
I get this message (error using zeros, size input bust be integers ) when running this code. anyone knows how to fix this ?
Qd=zeros(size(Q,1)/24,length(A));
for i=1:length(A)
for d=1:size(Q,1)/24
bk=Q(1+24*(d-1):24*d,i);
k=~isnan(bk);
Qd(d,i)=sum(bk(k))/length(k);
end
end
thanks
0 Comments
Accepted Answer
KSSV
on 17 Mar 2021
Edited: KSSV
on 17 Mar 2021
Qd=zeros(round(size(Q,1)/24),length(A));
for i=1:length(A)
for d=1:round(size(Q,1)/24)
bk=Q(1+24*(d-1):24*d,i);
k=~isnan(bk);
Qd(d,i)=sum(bk(k))/length(k);
end
end
The indices of matrices in MATLAB should be poittive integers.. when you are using size(Q,1)/24, if size(Q,1) is not multiple of 24 you will get a fraction and it will throuw error. So using round will round the number into nearest integer.
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!