آموزش متلب (MATLAB)
۵۴۳ آموزش
نمایش دسته بندی ها (۵۴۳ آموزش)

یافتن مختصات نقاط مشترک بین دو منحنی و نمایش آن نقاط در شکل شامل دو منحنی، در متلب (MATLAB)

در این کلید آموزشی، قصد داریم که یک m-file با نام intersections.m از بخش File Exchange وب سایت mathworks.com (وب سایت شرکت سازنده MATLAB) را معرفی کنیم که به ما کمک می کند مختصات نقاط مشترک بین دو منحنی را پیدا کنیم و آن نقاط را در یک شکل شامل دو منحنی، نمایش بدهیم.

فایل intersections.m ، در واقع یک تابع ( کلید شماره 15 ) با نام intersections را تعریف کرده است که بر اساس آن، می توانیم مختصات نقاط مشترک دو منحنی را پیدا کرده و سپس کدهایی را برای رسم آنها اجرا نماییم.

برای این منظور، ابتدا فایل زیر را دانلود نمایید که یک فایل فشرده (zip) شامل فایل intersections.m می باشد :

فایل را از حالت فشرده در آورده و سپس فایل intersections.m درون آن را در یکی از مسیرهای تعریف شده برای متلب ( کلید شماره 177 ) قرار دهید (یا مسیر حاوی آن را به مسیرهای تعریف شده برای متلب اضافه نمایید). بنابراین نرم افزار متلب (MATLAB)، تابع intersections را شناسایی خواهد کرد.

اکنون در یک m-file جدید، کد زیر را می نویسیم :

سه خط اول کدها برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.

در کد بالا، مقادیر محور افقی بر اساس مقادیر متغیر t می باشد که به صورت یک بازه از مقادیر، تعریف شده است :

سپس دو منحنی بر اساس بازه تعریف t ، ساخته ایم (y و y2) :

دقت شود که منحنی y2 بر اساس اعداد تصادفی ساخته می شود و بنابراین اجراهای متعدد این کدها، منحنی های متفاوتی برای y2 می سازد و بنابراین نقاط مشترکی که در هر بار اجرای کدها پیدا می شود، متفاوت می باشند (هم تعداد و هم مختصات نقاط).

خط زیر از کدها، مختصات x و y نقاط مشترک بین دو منحنی را در دو متغیر xout و yout به ما می دهد :

بقیه کدها برای رسم دو منحنی و همچنین رسم نقاط مشترک بین آنها می باشد :

با اجرای کد متلب (MATLAB) بالا، عکس زیر نمایش داده می شود :

یافتن مختصات نقاط مشترک بین دو منحنی و نمایش آن نقاط در شکل شامل دو منحنی، در متلب (MATLAB)

برای دیدن بهتر نقاط مشترک دو منحنی، اندازه عکس را با استفاده از موس و کشیدن لبه های پنجره نمایش دهنده عکس، کمی بزرگتر می کنیم :

یافتن مختصات نقاط مشترک بین دو منحنی و نمایش آن نقاط در شکل شامل دو منحنی، در متلب (MATLAB)

بخشی از شکل را بزرگ می کنیم :

یافتن مختصات نقاط مشترک بین دو منحنی و نمایش آن نقاط در شکل شامل دو منحنی، در متلب (MATLAB)
نکته

با توجه به اینکه در مثال بالا، یکی از منحنی ها بر اساس اعداد تصادفی ایجاد می شود، بنابراین اجراهای مختلف کد بالا، نتایج متفاوتی خواهد داشت (تعداد نقاط مشترک مختلف).

نکته

مختصات x و y نقاط اشتراک، در دو متغیر xout و yout نمایش داده می شوند. برای مشاهده مقدار این دو متغیر، نام آنها را در انتهای کدها ذکر نمایید :

نتیجه :

نویسنده علیرضا گلمکانی
شماره کلید 26319
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 10 9 1
محمد
۱۳۹۹/۰۲/۱۴
۰۰:۱۰

سلام ممنون از کمک و راهنمایی لطف اگر برنامه جدیدتری سراغ دارید معرفی کنید ممنون میشم

سرعت انجام سریعتر باشد 


ممنون

alireza
۱۳۹۹/۱۱/۰۹
۲۰:۴۱

سلام این کد هارو برای پایتون نمی گذارید؟؟؟

smm
۱۴۰۰/۰۳/۰۹
۰۱:۵۴

سلام
متلب اصلا دستور intersections  رو نمیشناسه که.
مشکل چیه میگه intersections  تعریف نشده است.

admin
۱۴۰۰/۰۳/۰۹
۰۹:۵۰

سلام.

باید فایل فشرده (zip) را از لینک ذکر شده، دانلود نموده و از حالت فشرده خارج نمایید و سپس فایل intersections.m را در آن پیدا کرده و آن را در یکی از مسیرهای (Path) تعریف شده برای متلب (MATLAB) قرار دهید (یا مسیر حاوی آن را به مسیرهای تعریف شده برای متلب اضافه نمایید).

در مورد مسیرها (Path) در متلب (MATLAB)، کلید آموزشی زیر را بخوانید :

علی
۱۴۰۰/۰۳/۱۲
۱۲:۳۸

سلام وقتتون بخیر. فایل زیپ ک میگین لینکش کجاس. احیانا دستور خاصه دیگه ای وجود نداره در متلب که دقیقا همین دستور intersections رو اجرا کنه؟

admin
۱۴۰۰/۰۳/۱۲
۲۲:۳۶

سلام.
در خود متن آموزشی همین صفحه از سایت کلیدستان، لینک فایل فشرده (zip) ذکر شده است. 

Flower

حامد
۱۴۰۱/۰۵/۲۰
۰۶:۲۷

سلام.ممنون بابت سايت خيلي خوبتون.
مي خواستم بدونم ناحيه مشترک بين دونمودار رو چطوري مي تونيم پيدا کنيم.
در واقع ناحيه محصور بين دوخط
x+y>=0
2x-y<=10

ممنون ميشم راهنمايي کنيد
سپاسگزام

admin
۱۴۰۱/۰۵/۲۰
۱۲:۵۳

سلام.

اگر منظورتان هاشور زدن (رنگی کردن) ناحیه بین دو نمودار رسم شده می باشد، بخشی از کلید آموزشی زیر در این زمینه می باشد :

یعنی مشابه شکل زیر :

یافتن مختصات نقاط مشترک بین دو منحنی و نمایش آن نقاط در شکل شامل دو منحنی، در متلب (MATLAB)
حامد
۱۴۰۱/۰۵/۲۰
۱۴:۵۲

بله اين آموزش رو ديدم ولي نتونستم متوجهش بشم.چيزي که من ميخام فکرکنم خيلي ساده تر بشه انجامش داد

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)