
در جبر خطی ، در صورتی که مساوی یا موازی نباشند ، دو خط فقط در یک نقطه تقاطع می کنند. نقطه واحد تقاطع نیز به عنوان راه حل برای دو معادله خطی خوانده می شود. از پایتون می توان برای یافتن راه حل این دو معادله خطی استفاده کرد. خطوط را می توان در بسیاری از قالب های مختلف نشان داد. یک راه حل برای X و Y می تواند در هر قالب حاصل شود. یک تابع پایتون را می توان توصیف کرد که در آن x و y می توان مستقیماً با استفاده از فرمول های حاصل از هر قالب یافت. این مقاله دو قالب مختلف معادله خطی و نحوه اجرای یک تابع را برای استخراج همان برجسته می کند.
برای یافتن تقاطع یک نقطه با استفاده از دو خط ، روش دستی با قرار دادن هر دو معادله در یک متغیر برابر می شود. این معادله را به یک معادله متغیر واحد ایجاد می کند. علاوه بر این ، متغیر واحد با استفاده از محاسبات ریاضی ساده یافت می شود و مقدار آن در هر یک از معادله قبلی قرار می گیرد تا مختصات دوم نقطه تقاطع را بدست آورد. در مقاله زیر به خوبی نشان داده شده است و با مثال و مشتقات روشن می شود.
دو قالب معادلات خطی انجام شده در این مقاله به شرح زیر است:
قالب 1: y = mx+c
قالب 2: ay = bx+c
لازم به ذکر است که این مقاله از NUMPY برای اجرای یافتن نقطه تقاطع دو خط استفاده نمی کند. در اینجا یک کلاس به صورت جداگانه اجرا شده است و تابعی برای کار بر روی آن کلاس است. لطفاً برای کسب اطلاعات بیشتر در مورد جبر خطی Numpy ، به این مقاله مراجعه کنید.
برای درک آسان موضوع ، از تجزیه و تحلیل گرافیکی نیز استفاده می شود. برای اجرای کل کد همانطور که هست ، لازم است واردات matplotlib. pyplot شود. قبل از شروع کد می توان آن را به شرح زیر انجام داد:
وارد کردن matplotlib. pyplot به عنوان plt
یافتن نقطه تقاطع با معادله خط به عنوان y = mx+c
این اساسی ترین قالب معادلات خط است. بیشتر در جبر خطی و تجزیه و تحلیل گرافیکی استفاده می شود. در اینجا M شیب معادله است در حالی که C ثابت معادله است. در اینجا دو معادله خطی در همان قالب در نظر گرفته می شود. اول ، مشتق x و y انجام می شود. بر اساس فرمول های مشتق شده ، تابعی در پایتون ایجاد می شود. مشتق به شرح زیر است:



از مشتق فوق ، مشاهده می شود که متغیر X را می توان به راحتی از دو معادله خطی با استفاده از فرمول یافت:
فرمول فوق را می توان به راحتی در یک عملکرد پایتون کدگذاری کرد. اما قبل از ایجاد یک تابع ، لازم است یک کلاس خط ایجاد شود که خط را در معادله y = mx+c محصور کند. در زیر نشان داده شده است:
خط کلاس: def __init __ (خود ، شیب ، const): self. m = slope self. c = const
در اعلامیه کلاس فوق ، یک سازنده نیز با استفاده از عملکرد __init __ () توصیف شده است. این دو ورودی ، شیب معادله و ثابت معادله طول می کشد. کلاس دارای دو متغیر ، M و C است. متغیر M مقدار شیب اختصاص داده شده است و متغیر C مقدار ثابت را اختصاص می دهد. اکنون که یک کلاس اعلام شده است ، می توان عملکردی را تعریف کرد که دو خط به عنوان ورودی طول می کشد و نقطه تقاطع آنها را به عنوان خروجی نشان می دهد. در کد زیر نشان داده شده است:
Def Findsolution (L1 ، L2): x = (l1. c-l2. c)/(l2. m-l1. m) y = l1. m*x+l1. c x = [x برای x در محدوده (--10،11)] y1 = [(l1. m*x)+l1. c برای x در x] y2 = [(l2. m*x)+l2. c برای x در x] plt. plot (x ، y1، '-r' ، label = f'y = x+') plt. plot (x ، y2 ،'-b '، label = f'y = x+') plt. legend (loc = 'بالا سمت راست') plt. نمایش () بازگشت (x ، y)
در عملکرد فوق Findsolution () دو خط را به عنوان ورودی می گیرد. ابتدا متغیر X را مطابق فرمول به دست آمده در بالا اختصاص می دهد. اپراتور نقطه (‘.) در پایتون به شیء کلاس اجازه می دهد تا به متغیرهای عمومی خود دسترسی پیدا کند ، در این مورد m و c. پس از یافتن متغیر X ، متغیر Y به سادگی با قرار دادن متغیر X در معادله خط اول اختصاص می یابد. بقیه کد نمودار خطی از دو معادله را در محدوده (-10،10) ترسیم می کند. این مقاله به وضوح در مورد چگونگی ترسیم افسانه ها در نمودار و رنگ های مختلف برای خطوط مختلف در همان نمودار توضیح داده شده است. این تابع یک Tuple را با دو مقدار ، مختصات x و y از نقطه تقاطع برمی گرداند. حال ، اجازه می دهیم کار عملکرد را در دو خط با معادلات y = 3x+5 و y = 2x+3 بررسی کنیم.
L1 = خط (3،5) #تجهیزات خط y = 3x+5 l2 = خط (2،3) #تجهیزات خط y = 2x+3 sol = findsolution (l1 ، l2) چاپ (sol)
خروجی زیر در اجرای قطعه کد فوق تولید می شود:

عملکرد فوق می گوید که مختصات (-2 ، -1) جایی است که دو خط از آن عبور می کنند. با قرار دادن مقادیر در معادلات می توان آن را بررسی کرد. نمودار فوق همچنین عملکرد را اثبات می کند ، همانطور که در آن دو نمودار از هم عبور می کنند.
یافتن نقطه تقاطع با معادله خط به عنوان ay = bx+c
این قالب معادلات خطی به طور کلی در جبر خطی استفاده می شود. در اینجا متغیر Y دارای ضریب است. در این حالت شیب معادله B/A می شود و ثابت C/A می شود. این مقادیر را می توان در فرمول X مشتق شده در اوایل قرار داد ، یا می توان مشتق جدیدی را برای این قالب از معادلات نگه داشت. مشتق جدید به شرح زیر خواهد بود:



فرمول دریافت شده در بالا برای X ، می توان آن را به راحتی در عملکرد پایتون کدگذاری کرد. اما همان تعریف کلاس مورد استفاده برای قالب قبلی برای این قالب کار نمی کند. اعلامیه کلاس جدید لازم است. در قطعه کد زیر نشان داده شده است:
خط کلاس: def __init __ (self ، ycoeff ، xcoeff ، const): self. a = ycoeff self. b = xcoeff self. c = const
این اجرای خط کلاس با اجرای داده شده در بالا متفاوت است. در اینجا سه پارامتر ورودی در عملکرد سازنده وجود دارد. اولین پارامتر در قالب معادله ، ضریب y یا "A" است. دوم در قالب معادله با ضریب X یا "B" است. آخرین مورد ثابت یا "C" در قالب معادله است. کلاس از سه متغیر A ، B و C تشکیل شده است تا معادله فرمت Ay = Bx+C را تشکیل دهد
عملکرد زیر پیدا کردن حل () راه حلی برای دو معادله خطی از فرمت AY = BX+C با استفاده از فرمول برای مشتق X و قرار دادن مقدار x در یک معادله خطی برای یافتن y پیدا می کند. در کد زیر نشان داده شده است:
Def Findsolution (L1 ، L2): x = ((l1. a*l2. c)-(l2. a*l1. c))/(l2. a*l1. b)-(l1. a*l2. b)) y = (l1. b*x+l1. c) /l1. a x = [x برای x در محدوده (-10،11)] y1 = [((l1. b*x)+l1. c)/(l1. a) برای x در x] y2 = [(l2. b*x)+l2. c)/(l2. a) برای x در x] plt. plot (x ، y1 ، '-r'، label = f'y = x+') plt. plot (x ، y2 ، '-b' ، label = f'y = x+') plt. legend (loc =' بالا سمت راست ') plt. show () بازگشت(x ، y)
در اینجا عملکرد خطوط L1 و L2 را به عنوان ورودی می گیرد و نقطه تقاطع را پیدا می کند و آن را به عنوان Tuple برمی گرداند. از فرمول مشتق شده برای x استفاده می کند. همچنین برای تجسم و درک بهتر ، دو خط را روی یک نمودار ترسیم می کند. بیایید عملکرد را در دو معادله به عنوان 3y = 4x+6 و 2y = 5x+3 بررسی کنیم.
L1 = خط (3،4،6) #تجهیزات برای خط 3y = 4x+6 l2 = خط (2،5،3) #تجهیزات برای خط 2y = 5x+3 sol = findsolution (L1 ، L2) چاپ (SOL)
خروجی قطعه کد فوق به شرح زیر است:

در خروجی فوق ، عملکرد نقطه تقاطع را به عنوان (0. 428،2. 571) ارائه می دهد ، و دو معادله داده شده به عنوان ورودی را برآورده می کند. نمودار دو معادله همانطور که در بالا نشان داده شده است ، از خروجی عملکرد پشتیبانی می کند.]
این مقاله به اجرای ساده یافتن تقاطع دو نقطه پرداخته است. برای اجرای بیشتر جبر خطی در پایتون ، توصیه می شود به اسناد Numpy Linalg مراجعه کنید.
کد برای مرجع
در اینجا کل اجرای کد بیانیه مشکل است.
کد برای y = mx+c معادله خط:
وارد کردن matplotlib. pyplot به عنوان خط کلاس plt: def __init __ (خود ، شیب ، const): self. m = slope self. c = const def findsolution (l1 ، l2): x = (l1. c-l2. c)/((()l2. m-l1. m) y = l1. m*x+l1. c x = [x برای x در محدوده (-10،11)] y1 = [(l1. m*x)+l1. c برای xدر x] y2 = [(l2. m*x)+l2. c برای x در x] plt. plot (x ، y1 ، '-r' ، label = f'y = x+') plt. plot (x ،y2 ، '-b' ، label = f'y = x+') plt. legend (loc =' بالا سمت راست ') plt. show () بازگشت (x ، y) l1 = خط (3،5) #تجهیزات خطy = 3x+5 l2 = خط (2،3) #تجهیزات خط y = 2x+3 sol = findsolution (L1 ، L2) چاپ (SOL)
کد برای AY = Bx+C معادله خط:
وارد کردن matplotlib. pyplot به عنوان خط کلاس plt: def __init __ (self ، ycoeff ، xcoeff ، const): self. a = ycoeff self. b = xcoeff self. c = const def findsolution (l1 ، l2): x = ((l1. a*l2. c)-(l2. a*l1. c))/(l2. a*l1. b)-(l1. a*l2. b)) y = (l1. b*x+l1. c) /l1. a x = [x برای x در محدوده (-10،11)] y1 = [((l1. b*x)+l1. c)/(l1. a) برای x در x] y2 =[((l2. b*x)+l2. c)/(l2. a) برای x در x] plt. plot (x ، y1 ، '-r' ، label = f'y = x+') plt. plot(x ، y2 ، '-b' ، label = f'y = x+') plt. legend (loc =' بالا سمت راست ') plt. show () بازگشت (x ، y) l1 = خط (3،4،6) #equation برای خط 3y = 4x+6 l2 = خط (2،5،3) #تجهیزات برای خط 2y = 5x+3 sol = findsolution (L1 ، L2) چاپ (SOL)
گزینه های باینری...
ما را در سایت گزینه های باینری دنبال می کنید
برچسب : نویسنده : سحر زکریا بازدید : 37 تاريخ : شنبه 21 مرداد 1402 ساعت: 16:25