Hi there!
I have 3 matrix, each one has the first column the X coordinate, the second column the y coordinate and the 3rd column is the z coordinate. What I have to obtain is the distances between P and D and the distance between P and A in order to make a plot and to present the differences.
P = [2 3 6 ; 6 94 20 ; 9 6 3 ; 6 3 2];
D = [5 6 9 ; 8 3 20 ; 9 8 7 ; 6 5 8];
A = [5 2 3 ; 8 9 4 ; 7 5 2 ; 9 8 5];
xi = P(:,1);
yi = P(:,2);
zi = P(:,3);
xj = D(:,1);
yj = D(:,2);
zj = D(:,3);
dist = sqrt((xi-xj).^2 + (yi-yj).^2 + (zi-zj).^2); % calculate dist between P and D
xj = A(:,1);
yj = A(:,2);
zj = A(:,3);
dist = sqrt((xi-xj).^2 + (yi-yj).^2 + (zi-zj).^2); % now it calculate dist between P and A
My teacher actually asked me to make a function which can calculate both distances and not to make 2 different formulas ( what I wrote in the code makes no sense :( ). I was thinking to use for loop in order to define xj,yj and zj because xi,yi and zi are always the same but I don't know how could I do that. Could you please give me a hint? Thanks!

 채택된 답변

sloppydisk
sloppydisk 2018년 5월 16일

0 개 추천

You can just use vecnorm, right?
PD = vecnorm(P-D, 2, 2);
PA = vecnorm(P-A, 2, 2);

댓글 수: 2

gblmtc
gblmtc 2018년 5월 17일
Thanks sloppydisk :) Yes, it works! The teacher said to use the formula for distance because that's what we were studying. I'll ask him anyway! Thanks again!
sloppydisk
sloppydisk 2018년 5월 17일
편집: sloppydisk 2018년 5월 17일
Ah I think he wants you to write a function like vecnorm yourself. Check out how to do that by reading this link. You can use code similar to what you wrote, except wrapped inside a function getting two nx3 matrices as input.

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

gblmtc
gblmtc 2018년 5월 17일

0 개 추천

Yes, he wants me to think a function that calculate the both distances. Actually he wants me to figure out how to define xj, yj and zj in order to be ones the D matrix and after that to be A matrix. Thanks for your help!

카테고리

도움말 센터File Exchange에서 Mathematics에 대해 자세히 알아보기

태그

질문:

2018년 5월 16일

답변:

2018년 5월 17일

Community Treasure Hunt

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

Start Hunting!

Translated by