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 Resizing and Reshaping Matrices 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!