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

64 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)

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!