Incorrect use of the function zeros().
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Massilon Toniolo da Silva
le 31 Mai 2017
Commenté : Stephen23
le 31 Mai 2017
I have tried the following piece of script and got problems related to the use of zeros():
X = X(:);
N = length(X);
measurement_values(n)= zeros(1,tau); % tau=20
for n = 1:tau
y_tau=zeros(1,N/tau); % Line 27 ---> Error appears here.
for j = 1:N/n
y_tau(j) = mean(X(((j-1)*n+1):j*n));
end
measurement_values(n) = SampEn(y_tau,r,m);
end
Error report:
Error using zeros Size inputs must be integers.
Error in MSE (line 27) y_tau=zeros(1,N/tau);
Is there a way to fix the problem?
I checked the tutorial but still could not solve the problem.
Many thanks,
Massilon
0 commentaires
Réponse acceptée
Stephen23
le 31 Mai 2017
Modifié(e) : Stephen23
le 31 Mai 2017
As the error message clearly states, the inputs to zeros must be integer values (e.g. 0, 1, 2, ...). With your code you are supplying a fractional value of N/tau:
y_tau = zeros(1,N/tau)
which does not make any sense because how many zeros would you expect from, for example:
zeros(1,2.5)
???
The solution is to ensure that you supply integer values to zeros.
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Scan Parameter Ranges dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!