How to devide a line passing through two points into equal segments?

8 ビュー (過去 30 日間)
Soroush Asarzadeh
Soroush Asarzadeh 2016 年 7 月 21 日
回答済み: Star Strider 2016 年 7 月 21 日
Hello, I have two points: (x1,y1) and (x2,y2). Now I want to devide the line passing through these two points into 'n' equal segments. Unfortunately the 'linspace' can just be applied to horizontal and vertical lines! Does anybody have an idea?

採用された回答

Star Strider
Star Strider 2016 年 7 月 21 日
Coimbine linspace and interp1:
x = [1 5]; % Create Data
y = [3 1]; % Create Data
N = 3; % Number Of Segments
xi = linspace(x(1), x(2), N+1); % Interpolation Vector
yi = interp1(x, y, xi, 'linear'); % Find ‘yi’ For Each ‘xi’
figure(1)
plot(x, y, '-or')
hold on
plot(xi(2:end-1), yi(2:end-1), 'bp')
hold off
grid
axis([0 6 0 4])

その他の回答 (1 件)

dpb
dpb 2016 年 7 月 21 日
For straight line it doesn't matter; just divide dx, dy by the number of intervals.
xpts=linspace(x(1),x(end),N);
ditto for y.

カテゴリ

Help Center および File ExchangeAnimation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by