MATLAB: Standard deviation: error because variable is of type double

standard deviation

I've created a 30 by 15 array of random numbers with mean M and standard deviation sd. I've then scaled the values from 0 to 1 because I want to show the matrix v using imshow, so I want the range to be from 0 to 1. Here is my code:
%create array of random numbers v = randn(30,15)*sd + M; %scale minimum = min(min(v)); maximum = max(max(v)); v = (v-minimum)/maximum;
I then want to find the new standard deviation and mean. To find the mean, I use:
Mean = mean(mean(V));
To find the standard deviation, I have used this code:
v = reshape(30*15, 1); standard_deviation = std(v);
Please tell me if there is a better way to get the standard deviation of ALL the numbers in a matrix, without reshaping to make it into a vector. When I use the above code, matlab throws an error: Undefined function 'sdt' for input arguments of type 'double'. Why is this? v is a vector so I can't see the problem with finding the standard deviation.
Thanks

Best Answer

Hi Anna,
you can use
std2(matrix)
mean2(matrix)
functions instead.
your code did work for me,
v = randn(30,15)*sd + M;
minimum = min(min(v));
maximum = max(max(v));
v = (v-minimum)/maximum;
Mean = mean(mean(v));
v = reshape(v,30*15, 1);
standard_deviation = std(v);
and that's it. good luck!