How to plot 2 lines and find the coordinates of their intersection? (2024)

459 views (last 30 days)

Show older comments

Swati Umamaheshwaran on 17 Sep 2017

  • Link

    Direct link to this question

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection

  • Link

    Direct link to this question

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection

Answered: Preetham Manjunatha on 8 Feb 2022

I need to plot the lines x+y=3 and x-y= -1 and find their point of intersection. I know that to plot the lines I could use 'fplot'. How can I find the coordinates of their intersection and plot it? Please help.

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Sign in to answer this question.

Answers (5)

Star Strider on 17 Sep 2017

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_281936

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_281936

Open in MATLAB Online

Another approach:

xymtx = [1 1; 1 -1];

cv = [3; -1];

xy = xymtx\cv; % Calculate Intercept

xint = xy(2); % X-Value Of Intercept

yint = xy(1); % Y-Value Of Intercept

xyind = [xint - 1, xint + 1]'; % X-Values For Plot

xydep = [cv -xyind.*xymtx(:,2)]; % Y-Values For Plot

figure(1)

plot(xyind, xydep(1,:), xyind, xydep(2,:), '-r')

hold on

plot(xint, yint, 'pg', 'MarkerFaceColor','g', 'MarkerSize',10)

hold off

This is straightforward and relatively simple linear algebra. The ‘xydep’ variable calculates the y-values corresponding to the arbitrary values in ‘xydep’, and is the result of solving ‘[X + Y] = C’ for ‘Y’.

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Tutku Oztel on 9 Jan 2019

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_355748

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_355748

Open in MATLAB Online

Hello,

I'm sharing the function that I wrote to find the intersection points of two lines with their given slope and constant values:

function [x0 y0] = intersectPoints(m1,m2,b1,b2)

% Insersection point of two lines with known slope and constant

% parameters.

% [x0 y0] = intersectPoints(m1,m2,b1,b1)

% where m's are slope, and b's are constants.

% written by Tutku Öztel in 06.01.2019

x0 = (b2-b1)/(m1-m2); %find the x point

y0 = m1*x0+b1;

end

Late though, but still.. Hope it will be helpful! :)

Tutku

2 Comments

Show NoneHide None

José Luis Sandoval on 7 Jun 2020

Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_887846

  • Link

    Direct link to this comment

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_887846

Usefuil, thanks.

Wai Keong Bryce Wong on 12 Oct 2020

Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_1052126

  • Link

    Direct link to this comment

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_1052126

This is super useful. Thanks for your help!

Sign in to comment.

Simon Kölbl on 17 Sep 2017

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_281915

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_281915

Open in MATLAB Online

I would do it like this:

% define x Axis and evaluate functions

x_points = -5:0.1:5;

function1 = -x+1;

function2 = x+1;

index_intersection = find(function1 == function2);

x_value_intersection = x_points(index_intersection);

y_value_intersection = function1(index_intersection);

% plot functions and intersection point:

curve1 = plot(x_points, function1);

hold on

curve2 = plot(x_points, function2);

intersection = plot(x_value_intersection, y_value_intersection,...

'Marker', '+', 'MarkerSize', 6, 'Color', 'r');

2 Comments

Show NoneHide None

Cyril Okhio on 13 Nov 2018

Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_636946

  • Link

    Direct link to this comment

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_636946

Sorry it did not work. There are errors in Line 9.

Image Analyst on 5 Jun 2021

Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_1565965

  • Link

    Direct link to this comment

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#comment_1565965

Open in MATLAB Online

@Cyril Okhio, I think @Simon Kölbl meant this:

clc;% Clear command window.

fprintf('Running %s.m ...\n', mfilename);

clear;% Delete all variables.

close all;% Close all figure windows except those created by imtool.

workspace;% Make sure the workspace panel is showing.

% Define x Axis and evaluate functions

x_points = -5:0.1:5;

function1 = -x_points+1;

function2 = x_points+1;

index_intersection = find(function1 == function2);

x_value_intersection = x_points(index_intersection)

y_value_intersection = function1(index_intersection)

% Plot functions and intersection point:

curve1 = plot(x_points, function1);

hold on

curve2 = plot(x_points, function2);

intersection = plot(x_value_intersection, y_value_intersection,...

'Marker', '+', 'MarkerSize', 20, 'Color', 'r', 'LineWidth', 2);

grid on

caption = sprintf('At intersection, x = %f, y = %f', x_value_intersection, y_value_intersection);

fontSize = 15;

title(caption, 'FontSize', 15);

xlabel('x', 'FontSize', 15);

ylabel('y', 'FontSize', 15);

fprintf('Done running %s.m\n', mfilename);

How to plot 2 lines and find the coordinates of their intersection? (9)

Sign in to comment.

Matt J on 5 Jun 2021

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_717645

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_717645

Edited: Matt J on 5 Jun 2021

Open in MATLAB Online

Using this File Exchange submission,

https://www.mathworks.com/matlabcentral/fileexchange/93470-intersections-of-multiple-2d-lines-or-line-segments

xy=linexlines2D( [1,1,-3].' , [1,-1,1] ); %the intersection point

hold on

fimplicit(@(x,y) x+y-3);

fimplicit(@(x,y) x-y+1);

plot(xy(1),xy(2),'or','MarkerFaceColor','r')

hold off

How to plot 2 lines and find the coordinates of their intersection? (11)

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Preetham Manjunatha on 8 Feb 2022

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_891390

  • Link

    Direct link to this answer

    https://www.mathworks.com/matlabcentral/answers/357026-how-to-plot-2-lines-and-find-the-coordinates-of-their-intersection#answer_891390

Here is the link to find the intersection point of two line segments/lines. A fast two line intersection point finder based on the line parametric space. Finds the intersection point between two lines if it exists or else submits NaN. if you need to find the intersection of the multiple line segments, MATLAB's Mapping Toolbox has function polyxpoly - that finds the intersection points for lines or polygon edges.

0 Comments

Show -2 older commentsHide -2 older comments

Sign in to comment.

Sign in to answer this question.

See Also

Categories

MATLABGraphicsGraphics ObjectsGraphics Object Properties

Find more on Graphics Object Properties in Help Center and File Exchange

Tags

  • intersection of 2 lines

Community Treasure Hunt

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

Start Hunting!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.


How to plot 2 lines and find the coordinates of their intersection? (13)

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom(English)

Asia Pacific

Contact your local office

How to plot 2 lines and find the coordinates of their intersection? (2024)

References

Top Articles
Latest Posts
Article information

Author: Cheryll Lueilwitz

Last Updated:

Views: 6191

Rating: 4.3 / 5 (74 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.