Error using Zeros, size input must be integers.

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

 采纳的回答

KSSV
KSSV 2021-3-17
编辑:KSSV 2021-3-17
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.

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by