MATLAB Answers

Getting an unknown error on calculating Standard Deviation.

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

Atul Upadhyay
Atul Upadhyay on 19 Jun 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

Sign in to comment.

Accepted Answer

Atul Upadhyay
Atul Upadhyay on 19 Jun 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

  0 Comments

Sign in to comment.

More Answers (1)

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

  0 Comments

Sign in to comment.

Tags

Products


Release

R2020a