Getting an unknown error on calculating Standard Deviation.

18 vues (au cours des 30 derniers jours)
Amit Priyankar
Amit Priyankar le 19 Juin 2020
Commenté : Hassan Eissa le 8 Sep 2023
I was trying to calculation using inbuilt Standard Deviation function but getting an error.
I ran the following code
load myfile.mat
std(v)
Error:
Error using var (line 74)
Invalid data type. First input argument must be single or double.
Error in std (line 59)
y = sqrt(var(varargin{:}));
  1 commentaire
Atul Upadhyay
Atul Upadhyay le 19 Juin 2020
I can see that the vector you are using has the int8 datatype in it and it contains values from 0 to 100. So, while calculating standard deviation there are chances of overflow.
Typecast the vector v to ‘double’ to get the desired output.
load myfile.mat;
v=double(v);
sd=std(v);
Refer to the following documentation to know more about datatypes in MATLAB.
https://in.mathworks.com/help/matlab/matlab_prog/integers.html

Connectez-vous pour commenter.

Réponse acceptée

Atul Upadhyay
Atul Upadhyay le 19 Juin 2020
I can see that the vector you are using has the int8 datatype in it and it contains values from 0 to 100. So, while calculating standard deviation there are chances of overflow.
Typecast the vector v to ‘double’ to get the desired output.
load myfile.mat;
v=double(v);
sd=std(v);
Refer to the following documentation to know more about datatypes in MATLAB.
https://in.mathworks.com/help/matlab/matlab_prog/integers.html

Plus de réponses (2)

Bjorn Gustavsson
Bjorn Gustavsson le 19 Juin 2020
Your variable v is a uint8. Try:
std(double(v))
HTH

Hassan Eissa
Hassan Eissa le 8 Sep 2023
Compute the maximum value (max), minimum value (min), average value (mean), standard deviation (std) and the variance ( square of the standard deviation) of the variable 'signal
  1 commentaire
Hassan Eissa
Hassan Eissa le 8 Sep 2023
[sample, signal]
Step 1 Compute the Statistics
This file contains a variable called signal that has 730 samples. Compute the maximum value (max), minimum value (min), average value (mean), standard deviation (std) and the variance ( square of the standard deviation) of the variable 'signal'.
% Create the variables below that represent the statistics of the variable signal
%
maxSignal =
minSignal =
avgSignal =
stdSignal =
varSignal =

Connectez-vous pour commenter.

Tags

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by