Getting an unknown error on calculating Standard Deviation.
Show older comments
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
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
Accepted Answer
More Answers (2)
Bjorn Gustavsson
on 19 Jun 2020
Your variable v is a uint8. Try:
std(double(v))
HTH
Hassan Eissa
on 8 Sep 2023
0 votes
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 Comment
Hassan Eissa
on 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 =
Categories
Find more on Annotations 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!