operation on single elements in MATLAB

1 view (last 30 days)
greeting all the experts,
x=-2:1:2; %coordinates x
n=length(x);
y=x.^2; %coordinates y
z=[x;y];
from the above example, I will have matrix z (2x5)=[-2 -1 0 1 2: 4 1 0 1 4]. This will give 5 point on the graph which are (-2,4), (-1,1), (0,0),(1,1) (2,4). then, my next step is, i want to find the distance for each points.
distance 1 from (-2,4) to (-1,1)
distance 2 from (-1,1) to (0,0)
distance 3 from (0,0) to(1,1)
distance 4 from (1,1) to (2,4)
My problem/question, how to type the distance formula generally to conduct operation on each elements?
distance formula = sqrt((x2-x1)^2+(y2-y1)^2)

Accepted Answer

Matt J
Matt J on 29 Jul 2022
Edited: Matt J on 29 Jul 2022
x=-2:1:2; %coordinates x
n=length(x);
y=x.^2; %coordinates y
z=[x;y]
z = 2×5
-2 -1 0 1 2 4 1 0 1 4
interDistances=vecnorm(diff(z,1,2),2,1) %the result
interDistances = 1×4
3.1623 1.4142 1.4142 3.1623
  4 Comments
Walter Roberson
Walter Roberson on 29 Jul 2022
vecnorm needs r2017b .
We assume you have a new enough version of MATLAB as you did not enter a release when you created your question.
Noriham B
Noriham B on 29 Jul 2022
noted Prof/Dr./Sir Walter. I will try to get the newer version after this. Thanks :)

Sign in to comment.

More Answers (1)

Chunru
Chunru on 29 Jul 2022
x=-2:1:2; %coordinates x
y=x.^2; %coordinates y
z=[x;y]
z = 2×5
-2 -1 0 1 2 4 1 0 1 4
d = diff(z, 1, 2) % diff along 2nd dim
d = 2×4
1 1 1 1 -3 -1 1 3
d = vecnorm(d) % distance
d = 1×4
3.1623 1.4142 1.4142 3.1623
  1 Comment
Noriham B
Noriham B on 29 Jul 2022
Dear Prof/Dr./Sir Chunru. Tqvm for the help. U also use vecnorm like Matt J. I will study more about vecnorm for future need. Tq also to MATLAB for giving us opportunity to ask for help in this platform.

Sign in to comment.

Products

Community Treasure Hunt

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

Start Hunting!