I cannot find the distance between two matrices with respect to the Frobenius inner product.

10 views (last 30 days)
Hello everyone,
I am doing an assignment in MatLAB and I do not understand how to get the dist_AB value. I have tried using the norm command with inside the difference between A - B and the difference between the Frobenius form, but in each case the asnwer is not correct. I do not understand if I am using a wrong Matlab command or my math logic is wrong. Can someone help me?
%To find the Euclidean distance between two vectors, find the 2-norm of the difference of
%those vectors. Enter column vectors u and v. Then use the norm() command to find d(u,v), storing
%it in dist_uv.
u = [4; 3]
v = [-4; -12]
two_norm_u = norm(u, 2)
two_norm_v = norm(v, 2)
dist_uv = norm(u - v)
%To find the distance between two matrices with respect to the Frobenius inner product,
%find the Frobenius norm of the difference of those matrices. Enter matrices A and B.
%Then use the norm() command to find d(A,B), storing it in dist_AB.
A = [3 -7 4 3; -2 4 -5 0]
B = [1 -7 2 5; 0 0 -5 2]
fro_A = norm(A, 'fro')
fro_B = norm(B, 'fro')
%Below are the variables used for the last requirement, each are wrong.
fro_difference = norm(fro_A - fro_B)
dist_AB = norm(A - B)

Accepted Answer

Bruno Luong
Bruno Luong on 4 Aug 2020
Edited: Bruno Luong on 4 Aug 2020
Distance in frobenius scalar product:
dist_AB = norm(A - B, 'fro')
which is the same as this
norm(A(:)-B(:),2)
  2 Comments
Bruno Luong
Bruno Luong on 4 Aug 2020
Edited: Bruno Luong on 4 Aug 2020
norm(a) - norm(b)
doesn't measure the distance between a and b; regardless a, b are vector or matrix, or even number:
a = 1
b = -1
norm(a)-norm(b)

Sign in to comment.

More Answers (0)

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!