Write Standard Deviation Distance

I am asked to write a function called standard_deviation_distance that takes as input a data vector [1xN] v and a number x [1x1], in that order. And I have code to call your function:
v = [10 12 14];
x = 7;
dist = standard_deviation_distance(v,x)% =-2.5

Answers (3)

VBBV
VBBV on 5 Jun 2022
Edited: VBBV on 10 Nov 2022
v = [10 12 14];
x = ones(1,numel(v))*7;% length of x vector (weights) for each element and to be same as vector v
dist = standard_deviation_distance(v,x);
disp(['The standard deviation distance is ', num2str(dist)])
The standard deviation distance is 1.633
function y = standard_deviation_distance(v,x)
y = std(v,x);
end
Himanshu Desai
Himanshu Desai on 31 May 2023
Edited: Himanshu Desai on 31 May 2023
function y = standard_deviation_distance(v,x)
m = mean(v);
s = std(v);
y = (x-m)/s;
end
dist = -2.500
v = [10 12 14];
x = 7;
y = standard_deviation_distance(v,x)
v = [10 12 14];
x = ones(1, numel(v))*7;
dist = std(v,x)
dist = 1.6330
disp(['The standard deviation distance is ' num2str(dist)])
The standard deviation distance is 1.633

3 Comments

I corrected the nume1() call to be numel()
Torsten
Torsten on 1 Aug 2025
Edited: Torsten on 1 Aug 2025
I don't see a difference to @VBBV 's solution (except for "nume1" instead of "numel").
Maybe it was meant as "test test test".
@VBBV solution involved a function (as was required by the terms of the question)

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!