نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی
  • خانه
  • اخبار
  • زبان برنامه نویسی متلب. عملیات اصلی ماتریس

زبان برنامه نویسی متلب. عملیات اصلی ماتریس

MATLAB یک زبان محاسبات فنی سطح بالا، یک محیط توسعه الگوریتم تعاملی و یک ابزار مدرن تجزیه و تحلیل داده است.
MATLAB در مقایسه با زبان های برنامه نویسی سنتی (C / C ++، جاوا، پاسکال، FORTRAN)، این امکان را فراهم می کند که زمان حل مسائل معمولی را با یک مرتبه قدر کاهش دهد و توسعه الگوریتم های جدید را بسیار ساده می کند.
متلب ستون فقرات کل خانواده محصولات MathWorks است و ابزار اصلی برای حل طیف گسترده ای از مشکلات علمی و کاربردی در زمینه هایی مانند: اشیاء و توسعه سیستم های کنترل، سیستم های ارتباطی، پردازش سیگنال و تصویر، اندازه گیری سیگنال و تست، مدل سازی مالی، زیست شناسی محاسباتی و غیره
هسته MATLAB کار با ماتریس هایی از انواع داده های واقعی، پیچیده و تحلیلی و با ساختارهای داده و جداول جستجو را تا حد امکان آسان می کند. متلب شامل توابع داخلی برای جبر خطی (LAPACK، BLAS)، تبدیل فوریه سریع (FFTW)، توابع کار با چند جمله ای ها، توابع آمار پایه و حل عددی معادلات دیفرانسیل است. کتابخانه های ریاضی توسعه یافته برای Intel MKL. تمام توابع داخلی هسته متلب توسط متخصصان طراحی و بهینه سازی شده اند تا سریعتر یا به همان روشی که معادل C / C ++ آنها انجام شود.

توضیحات زبان

MATLAB یک زبان برنامه نویسی سطح بالا است که شامل ساختارهای داده مبتنی بر ماتریس، طیف گسترده ای از توابع، یک محیط توسعه یکپارچه، قابلیت های شی گرا و رابط های برنامه های نوشته شده به زبان های برنامه نویسی دیگر است.

دو نوع برنامه نوشته شده در متلب وجود دارد - توابع و اسکریپت. توابع دارای آرگومان های ورودی و خروجی و همچنین فضای کاری مخصوص به خود برای ذخیره نتایج و متغیرهای محاسبات میانی هستند. اسکریپت ها یک فضای کاری مشترک دارند. هر دو اسکریپت و توابع در کد ماشین تفسیر نمی شوند و به عنوان فایل های متنی ذخیره می شوند. همچنین می توان برنامه های به اصطلاح از پیش تجزیه شده - توابع و اسکریپت ها را که به شکلی مناسب برای اجرای ماشین پردازش شده اند، ذخیره کرد. به طور کلی، چنین برنامه هایی سریعتر از حد معمول اجرا می شوند.

ویژگی اصلی زبان متلب، امکانات گسترده آن برای کار با ماتریس است که سازندگان این زبان با شعار Think vectorized آن را بیان کرده اند.

ریاضیات و محاسبات

متلب تعداد زیادی (چند صد) توابع را برای تجزیه و تحلیل داده ها در اختیار کاربر قرار می دهد که تقریباً تمام زمینه های ریاضیات را پوشش می دهد، به ویژه:
ماتریس ها و جبر خطی - جبر ماتریسی، معادلات خطی، مقادیر ویژه و بردارها، تکینگی ها، فاکتورسازی ماتریس و غیره.
چند جمله ای ها و درون یابی - ریشه های چند جمله ای ها، عملیات روی چند جمله ای ها و تمایز آنها، درون یابی و برون یابی منحنی ها و موارد دیگر.
آمار ریاضی و تجزیه و تحلیل داده ها - توابع آماری، رگرسیون آماری، فیلتر دیجیتال، تبدیل فوریه سریع و غیره.
پردازش داده - مجموعه ای از توابع ویژه، از جمله رسم، بهینه سازی، جستجوی صفر، ادغام عددی (در مربعات) و غیره.
معادلات دیفرانسیل - حل معادلات دیفرانسیل و دیفرانسیل-جبری، معادلات دیفرانسیل با تاخیر، معادلات با محدودیت، معادلات دیفرانسیل جزئی، و غیره.
ماتریس های پراکنده یک کلاس داده ویژه MATLAB هستند که در برنامه های تخصصی مورد استفاده قرار می گیرند.
Integer Arithmetic - عملیات حسابی عدد صحیح را در محیط MATLAB انجام می دهد.


توسعه الگوریتم

متلب ابزارهای مناسبی را برای توسعه الگوریتم‌ها از جمله الگوریتم‌های سطح بالا با استفاده از مفاهیم برنامه‌نویسی شی گرا فراهم می‌کند. این شامل تمام ابزارهای لازم IDE، از جمله یک اشکال زدا و یک پروفایلر است. توابع کار با انواع داده اعداد صحیح، ایجاد الگوریتم‌ها را برای میکروکنترلرها و سایر برنامه‌ها در صورت لزوم آسان‌تر می‌کند.


تجسم داده ها

بسته متلب شامل تعداد زیادی توابع برای رسم نمودارها، از جمله سه بعدی، تجزیه و تحلیل داده های بصری و ایجاد فیلم های متحرک است.

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


رابط های خارجی

بسته متلب شامل رابط های مختلفی برای دسترسی به روال های خارجی نوشته شده در سایر زبان های برنامه نویسی، داده ها، کلاینت ها و سرورهایی است که از طریق فناوری های Component Object Model یا Dynamic Data Exchange با یکدیگر ارتباط برقرار می کنند و تجهیزات جانبی که مستقیماً با MATLAB در ارتباط هستند. بسیاری از این قابلیت ها با نام MATLAB API شناخته می شوند.


COM

بسته MATLAB دسترسی به توابعی را فراهم می کند که به شما امکان ایجاد، دستکاری و حذف اشیاء COM (هم مشتری و هم سرور) را می دهد. فناوری ActiveX نیز پشتیبانی می شود. تمام اشیاء COM متعلق به یک کلاس COM ویژه از بسته MATLAB هستند. تمامی برنامه هایی که دارای توابع کنترل کننده اتوماسیون هستند می توانند به عنوان سرور اتوماسیون به متلب دسترسی داشته باشند.


DDE

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


خدمات وب

متلب امکان فراخوانی متدهای خدمات وب را فراهم می کند. یک تابع ویژه کلاسی را بر اساس متدهای API وب سرویس ایجاد می کند.

متلب با پذیرش بسته‌ها، پردازش آنها و ارسال پاسخ با مشتری وب سرویس تعامل دارد. فناوری‌های زیر پشتیبانی می‌شوند: پروتکل دسترسی به اشیاء ساده (SOAP) و زبان توصیف خدمات وب (WSDL).


پورت COM

رابط پورت سریال MATLAB دسترسی مستقیم به دستگاه های جانبی مانند مودم، چاپگر و تجهیزات علمی را که از طریق پورت سریال (پورت COM) به رایانه متصل می شوند، فراهم می کند. یک رابط با ایجاد یک شی از یک کلاس خاص برای پورت سریال کار می کند. متدهای موجود این کلاس به شما این امکان را می‌دهد که داده‌ها را در پورت سریال بخوانید و بنویسید، از رویدادها و رویدادها استفاده کنید و اطلاعات را در زمان واقعی روی دیسک کامپیوتر بنویسید. این برای آزمایش‌ها، شبیه‌سازی‌های بلادرنگ و سایر برنامه‌ها مفید است.


فایل های MEX

بسته متلب شامل یک رابط برای تعامل با برنامه های خارجی است که به زبان های C و Fortran نوشته شده اند. این تعامل از طریق فایل های MEX انجام می شود. امکان فراخوانی زیربرنامه های نوشته شده به زبان C یا Fortran از MATLAB وجود دارد که گویی توابع داخلی بسته هستند. فایل‌های MEX کتابخانه‌های پیوند پویا هستند که می‌توانند توسط مفسر تعبیه‌شده در MATLAB بارگیری و اجرا شوند.


DLL

رابط DLL عمومی MATLAB به شما اجازه می دهد تا توابع موجود در کتابخانه های پیوند پویا معمولی را مستقیماً از MATLAB فراخوانی کنید. این توابع باید یک رابط C داشته باشند.

علاوه بر این، متلب این قابلیت را دارد که از طریق رابط C به توابع داخلی خود دسترسی پیدا کند که این امکان را برای توابع بسته در برنامه های خارجی نوشته شده به زبان C فراهم می کند. این فناوری در متلب C Engine نامیده می شود.


کیت های ابزار

برای متلب، می توان جعبه ابزار خاصی ایجاد کرد که عملکرد آن را گسترش دهد. Toolkit ها مجموعه ای از توابع هستند که در MATLAB برای حل یک کلاس خاص از مسائل نوشته شده اند. Mathworks ابزارهایی را ارائه می کند که در بسیاری از زمینه ها از جمله موارد زیر استفاده می شود:
پردازش دیجیتال سیگنال ها، تصاویر و داده ها: جعبه ابزار DSP، جعبه ابزار پردازش تصویر، جعبه ابزار موجک، جعبه ابزار ارتباطی، جعبه ابزار طراحی فیلتر - مجموعه ای از توابع که به شما امکان می دهد طیف گسترده ای از مشکلات را در پردازش سیگنال، تصاویر، طراحی فیلترهای دیجیتال حل کنید. و سیستم های ارتباطی
سیستم های کنترل: جعبه ابزار سیستم های کنترل، جعبه ابزار تجزیه و تحلیل و ترکیب μ، جعبه ابزار کنترل قوی، جعبه ابزار شناسایی سیستم، جعبه ابزار کنترل LMI، جعبه ابزار کنترل پیش بینی مدل، جعبه ابزار کالیبراسیون مبتنی بر مدل - مجموعه ای از توابع که تجزیه و تحلیل و سنتز سیستم های پویا را تسهیل می کنند. طراحی، مدل‌سازی و شناسایی سیستم‌های کنترل، از جمله الگوریتم‌های کنترل مدرن مانند کنترل قوی، کنترل H∞، سنتز LMN، µ-سنتز، و غیره.
تجزیه و تحلیل مالی: جعبه ابزار GARCH، جعبه ابزار با درآمد ثابت، جعبه ابزار سری زمانی مالی، جعبه ابزار مشتقات مالی، جعبه ابزار مالی، جعبه ابزار داده فید - مجموعه ای از توابع که به شما امکان می دهد به سرعت و کارآمد اطلاعات مالی مختلف را جمع آوری، پردازش و انتقال دهید.
تجزیه و تحلیل و ترکیب نقشه های جغرافیایی، از جمله سه بعدی: جعبه ابزار نقشه برداری.
جمع‌آوری و تجزیه و تحلیل داده‌های آزمایشی: جعبه ابزار جمع‌آوری داده، جعبه ابزار جمع‌آوری تصویر، جعبه ابزار کنترل ابزار، پیوند برای استودیوی Code Composer - مجموعه‌ای از توابع که به شما امکان ذخیره و پردازش داده‌های به‌دست‌آمده در طول آزمایش‌ها، از جمله در زمان واقعی را می‌دهد. طیف گسترده ای از تجهیزات اندازه گیری علمی و مهندسی پشتیبانی می شود.
تجسم و ارائه داده ها: جعبه ابزار واقعیت مجازی - به شما امکان می دهد جهان های تعاملی ایجاد کنید و اطلاعات علمی را با استفاده از فناوری های واقعیت مجازی و VRML تجسم کنید.
ابزارهای توسعه: MATLAB Builder برای COM، MATLAB Builder برای Excel، MATLAB Compiler، Filter Design HDL Coder - مجموعه ای از توابع که به شما امکان می دهد برنامه های کاربردی مستقل از محیط MATLAB ایجاد کنید.
تعامل با محصولات نرم افزاری خارجی: MATLAB Report Generator، Excel Link، Database Toolbox، MATLAB Web Server، Link for ModelSim - مجموعه ای از توابع که به شما امکان می دهد داده ها را به اشکال مختلف ذخیره کنید تا سایر برنامه ها بتوانند با آنها کار کنند.
پایگاه های داده: جعبه ابزار پایگاه داده - ابزاری برای کار با پایگاه های داده.
بسته های علمی و ریاضی: جعبه ابزار بیوانفورماتیک، جعبه ابزار منحنی، جعبه ابزار نقطه ثابت، جعبه ابزار منطق فازی، الگوریتم ژنتیک و جعبه ابزار جستجوی مستقیم، جعبه ابزار OPC، جعبه ابزار بهینه سازی، جعبه ابزار معادلات دیفرانسیل جزئی، جعبه ابزار Spline، جعبه ابزار آماری، جعبه ابزار آماری توابع ریاضی تخصصی که امکان حل طیف گسترده ای از مسائل علمی و مهندسی از جمله توسعه الگوریتم های ژنتیک، حل مسائل در مشتقات جزئی، مسائل اعداد صحیح، بهینه سازی سیستم و غیره را فراهم می کند.
شبکه های عصبی: جعبه ابزار شبکه های عصبی - ابزارهایی برای سنتز و تجزیه و تحلیل شبکه های عصبی.
جعبه ابزار ریاضی نمادین جعبه ابزار ریاضی نمادین - ابزارهای محاسبه نمادین با قابلیت تعامل با برنامه نمادین Maple.

علاوه بر موارد فوق، هزاران ابزار MATLAB دیگر توسط شرکت ها و علاقه مندان نوشته شده است.

سلام خوانندگان عزیز! در مقاله مبانی برنامه نویسی MatLab با سینتکس این زبان که عمدتاً برای محاسبات ریاضی از آن استفاده خواهیم کرد، آشنا می شویم.

MATLAB یک سیستم تعاملی است که در آن عنصر داده اصلی یک آرایه است. این به شما امکان می دهد تا چندین برابر سریعتر از هنگام نوشتن برنامه ها با استفاده از سایر زبان های برنامه نویسی، وظایف مختلف مربوط به محاسبات فنی، به خصوص که در آنها از بردارها و ماتریس ها استفاده می شود، حل کنید.

متغیرهای متلب:

انواع مختلفی از متغیرها وجود دارد که در اینجا اساسی ترین آنها وجود دارد:

  • منطقی(درست - 1، نادرست - 0)
  • کاراکتر- رشته کاراکتر
  • عددی- آرایه های اعداد ممیز شناور
  • بین المللی: int8 (آرایه ای از اعداد صحیح امضا شده 8 بیتی، 1 بایت در هر عدد)، همچنین int16, int32, int64
  • تنها- آرایه ای از اعداد نقطه شناور دقیق (4 بایت در هر عدد)
  • دو برابر- آرایه ای از اعداد ممیز شناور با دقت دوگانه (16 کاراکتر)
  • ساختار- آرایه ساخت یافته از فیلدها برای ذخیره داده ها با نام

نام متغیر:
طول - حداکثر 63 کاراکتر؛
نباید با نام توابع و رویه ها مطابقت داشته باشد.
باید با یک حرف شروع شود؛
می تواند شامل حروف، اعداد، خط زیر باشد.
حروف بزرگ و کوچک از هم متمایز می شوند.

تنظیم یک متغیر بسیار آسان است:

مثلا:

>> a = 2؛ b = 4؛ a + b ans = 6

همانطور که می بینید، Matlab خود نتیجه یک عملیات را با 2 متغیر خروجی می دهد.

آرایه ها:

بیایید با کار شروع کنیم یک بعدیآرایه ها:

تخصیص خط فرمان: x = یا x =
تعیین عناصر منفرد: x (3) = 3
طول آرایه را می توان با دستور: length (x) پیدا کرد.

حرکت به سوی دو بعدیآرایه ها:

تخصیص خط فرمان: x =

ans = 1 2 3 4 5 6 7 8

تعیین عناصر منفرد: x (2،3) = 7
با اشاره به خط p-ام جداگانه آرایه: y = [p ,:]
با اشاره به k-امین ستون آرایه: y = [:، به]
دستور B = A (:، :) به تمام عناصر ماتریس اشاره دارد، یعنی. یک کپی از ماتریس A ایجاد می کند.

همچنین باید از ماتریس های استاندارد آگاه باشید:

  • صفر (n، m) - ماتریس صفرهای اندازه nxm
  • ones (n, m) - nxm ماتریس یکها
  • رند (n، m) - ماتریس nxm از اعداد تصادفی
  • چشم (n، m) - ماتریس یکها در مورب اصلی اندازه nxm

اپراتورها:

اپراتورها باید شناخته شوند، زیرا بدون آنها تسلط بر همه چیز غیرممکن است مبانی برنامه نویسی متلب.

  • عملگرهای حسابی (عبارات حسابی، محاسبات)
  • عملگرهای رابطه ای (مقایسه آرگومان ها)
  • عملگرهای بولی (عبارات بولی)

سطوح تقدم عملگرهای حسابی:

  1. جابجایی بر حسب عنصر (. ')، توان عنصری (. *)، صرف ماتریس (')، توان ماتریس (^)
  2. به علاوه یکنواختی (+) و یکنواختی منهای (-)
  3. ضرب عنصری آرایه ها (. *)، تقسیم آرایه ها به سمت راست (./) و تقسیم چپ (. \)، ضرب ماتریسی (*)، حل سیستم های معادلات خطی، عملیات (/) و (\)
  4. جمع (+) و تفریق آرایه ها (-)
  5. اپراتور (:)

در هر سطح، اپراتورها دارای اولویت برابر هستند و به ترتیب چپ به راست ارزیابی می شوند. ترتیب ارزشیابی با پرانتز قابل تغییر است.

عملگرهای رابطه:

  • > - بیشتر - تابع gt ().
  • > = - بزرگتر یا مساوی - ge () تابع
  • == - برابر - به عنوان مثال تابع ()
  • ~ = - مساوی نیست - تابع ne ()

تقدم آنها کمتر از حسابی است، اما بیشتر از عملگرهای منطقی است.

عملگرهای منطقی:

  • & یک آرایه است: 1 برای هر مکانی که هر دو عنصر درست هستند (غیر صفر) و 0 برای همه عناصر دیگر. و () عملکرد
  • | - آرایه: 1 - برای هر مکانی که حداقل یک عنصر در آن درست است (غیر صفر) و 0 - برای همه عناصر دیگر. یا () تابع
  • ~ - نفی منطقی برای هر عنصر از آرایه ورودی، A; تابع () نیست
  • xor یک آرایه است: 1 برای هر مکانی که فقط یک عنصر درست است (غیر صفر) و 0 برای همه عناصر دیگر
A = B =; A&B = 01001 A | B = 11101 ~ A = 10010 xor (A, B) = 10100

مثال های ساده:

تنظیم یک ماتریس 3 در 4 با اعداد تصادفی:

>> رند (3.4) پاسخ = 0.9134 0.2785 0.9649 0.8147 0.9058 0.6324 0.5469 0.1576 0.1270 0.0975 0.9575 0.9706 شده >> x = X = 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 >> DET (X) = جواب 0 >> x = X1 = 1 2 4 5 6 7 >> x = X2 = 1 2 4 5 6 7 >> x1 * x2 ans = 11 14 18 29 38 51 41 54 73

در این مورد ما امروز را به پایان خواهیم رساند. در مقالات بعدی قبلا به طور مفصل به تمامی قابلیت های متلب می پردازیم. و باور کنید این فرصت ها بسیار عالی هستند.
اگر سوالی دارید، در نظرات بپرسید.

1. درس 23. معرفی بسته های افزودنی متلب

درس شماره 23.

آشنایی با بسته های الحاقی MATLAV

    بسته های گسترش لیست

    Simulinc برای ویندوز

    بسته ریاضیات نمادین

    بسته های ریاضی

    بسته های آنالیز و سنتز برای سیستم های کنترل

    بسته های شناسایی سیستم

    ابزار Simulinc اضافی

    بسته های پردازش سیگنال و تصویر

    سایر بسته های کاربردی

در این درس به طور مختصر با ابزارهای اساسی گسترش حرفه ای سیستم و سازگاری آن برای حل کلاس های معینی از مسائل ریاضی و علمی و فنی - با بسته های الحاقی برای سیستم متلب آشنا می شویم. شکی نیست که حداقل بخشی از این بسته ها باید به یک دوره آموزشی یا کتاب مرجع جداگانه، شاید بیش از یک مورد، اختصاص داده شود. برای اکثر این پسوندها کتابهای جداگانه ای در خارج از کشور منتشر شده است و حجم مستندات آنها به صدها مگابایت می رسد. متأسفانه، طول این کتاب فقط به شما امکان می دهد کمی در بسته های توسعه قدم بزنید تا به خواننده ایده دهید که سیستم به کجا می رود.

2. لیست بسته های توسعه

بسته های گسترش لیست

سیستم کامل MATLAB 6.0 شامل تعدادی مؤلفه است که نام، شماره نسخه و تاریخ ایجاد آنها با دستور ver قابل نمایش است:

MATLAB نسخه 6.0.0.88 (R12) در PCWIN MATLAB شماره مجوز: 0

جعبه ابزار متلب

نسخه 6.0

06-0ct-2000

نسخه 4.0

نسخه 4.0

04-0ct-2000

کدگذار حالت جریان

نسخه 4.0

04-0ct-2000

کارگاه بیدرنگ

نسخه 4.0

مجموعه بلوک مرجع COMA

نسخه 1.0.2

مجموعه بلوک ارتباطات

نسخه 2.0

جعبه ابزار ارتباطات

نسخه 2.0

جعبه ابزار سیستم کنترل

نسخه 5.0

DSP Blockset

نسخه 4.0

جعبه ابزار اکتساب داده

نسخه 2.0

05-0ct-2000

جعبه ابزار پایگاه داده

نسخه 2.1

جعبه ابزار Datafeed

نسخه 1.2

مجموعه بلوک های شماره گیری و سنج

نسخه 1.1

جعبه ابزار طراحی فیلتر

نسخه 2.0

جعبه ابزار مشتقات مالی

نسخه 1.0

جعبه ابزار سری زمانی مالی

نسخه 1.0

جعبه ابزار مالی

نسخه 2.1.2

مجموعه بلوک های نقطه ثابت

نسخه 3.0

جعبه ابزار منطق فازی

نسخه 2.1

جعبه ابزار GARCH

نسخه 1.0

جعبه ابزار پردازش تصویر

نسخه 2.2.2

جعبه ابزار کنترل ابزار

نسخه 1.0

جعبه ابزار کنترل LMI

نسخه 1.0.6

کامپایلر متلب

نسخه 2.1

تولید کننده گزارش متلب

نسخه 1.1

جعبه ابزار نقشه برداری

نسخه 1.2


نسخه 1.0.5

کیت توسعه دهنده موتورولا DSP

نسخه 1.1

اول سپتامبر-2000

جعبه ابزار Mi-Analysis و Synthesis

نسخه 3.0.5

جعبه ابزار شبکه عصبی

نسخه 4.0

مجموعه بلوک های طراحی کنترل غیرخطی

نسخه 1.1.4

جعبه ابزار بهینه سازی

نسخه 2.1

جعبه ابزار معادلات دیفرانسیل جزئی

نسخه 1.0.3

مجموعه بلوک سیستم قدرت

نسخه 2.1

زمان واقعی کارگاه آدا کدگذار

نسخه 4.0

زمان واقعی کارگاه کدگذار تعبیه شده

نسخه 1.0

رابط مدیریت نیازمندی ها

نسخه 1.0.1

جعبه ابزار کنترل قوی

نسخه 2.0.7

SB2SL (SystemBuild را به Simu تبدیل می کند

نسخه 2.1

جعبه ابزار پردازش سیگنال

نسخه 5.0

شتاب دهنده سیمولینک

نسخه 1.0

تفاوت مدل برای سیمولینک و ...

نسخه 1.0

ابزار پوشش مدل سیمولینک

نسخه 1.0

Simulink Report Generator

نسخه 1.1

جعبه ابزار Spline

نسخه 3.0

جعبه ابزار آمار

نسخه 3.0

جعبه ابزار ریاضی نمادین

نسخه 2.1.2


نسخه 5.0

جعبه ابزار موجک

نسخه 2.0

نسخه 1.1

xPC Target Embedded Option

نسخه 1.1

لطفاً توجه داشته باشید که تقریباً تمام بسته های الحاقی در متلب 6.0 به روز شده اند و به سال 2000 باز می گردند. شرح آنها به طور قابل توجهی گسترش یافته است، که در قالب PDF در حال حاضر بیش از ده هزار صفحه را اشغال می کند. در زیر شرح مختصری از بسته های توسعه اصلی آورده شده است

3. Simulink برای ویندوز

سیمولینک برای ویندوز

بسته الحاقی Simulink برای شبیه سازی مدل های متشکل از بلوک های گرافیکی با خصوصیات (پارامترهای) مشخص استفاده می شود. اجزای مدل نیز به نوبه خود بلوک ها و مدل های گرافیکی هستند که در تعدادی کتابخانه قرار دارند و می توانند با استفاده از ماوس به پنجره اصلی کشیده شوند و با پیوندهای لازم به یکدیگر متصل شوند. این مدل ها می توانند شامل انواع مختلفی از منابع سیگنال، دستگاه های ضبط مجازی، ابزارهای انیمیشن گرافیکی باشند. با دوبار کلیک کردن بر روی بلوک مدل، پنجره ای با لیستی از پارامترهای آن نمایش داده می شود که کاربر می تواند آن را تغییر دهد. راه‌اندازی شبیه‌سازی مدل‌سازی ریاضی مدل ساخته‌شده را با ارائه بصری واضح نتایج ارائه می‌کند. این بسته بر اساس ساخت نمودارهای بلوک با انتقال بلوک ها از کتابخانه اجزا به پنجره ویرایش یک مدل ساخته شده توسط کاربر است. سپس مدل اجرا می شود. در شکل 23.1 روند مدل سازی یک سیستم ساده - یک سیلندر هیدرولیک را نشان می دهد. کنترل با استفاده از اسیلوسکوپ های مجازی انجام می شود - در شکل. شکل 23.1 صفحه نمایش دو اسیلوسکوپ و پنجره زیرسیستم ساده مدل را نشان می دهد. شبیه سازی سیستم های پیچیده متشکل از زیرسیستم های زیادی امکان پذیر است.

Simulink معادلات حالت مدل را ایجاد و حل می کند و به شما امکان می دهد انواع ابزار اندازه گیری مجازی را به نقاط مورد نظر متصل کنید. وضوح ارائه نتایج شبیه سازی قابل توجه است. تعدادی مثال از استفاده از بسته سیمولینک قبلاً در درس 4 آورده شده است. نسخه قبلی بسته با جزئیات کافی در کتاب ها توضیح داده شده است. نوآوری اصلی پردازش سیگنال ماتریسی است. اضافه شدن بسته‌های عملکرد مجزای Simulink مانند Simulink Accelerator برای کامپایل کد مدل، پروفایل‌کننده Simulink برای تجزیه و تحلیل کد و غیره.

برنج. 23.1.نمونه ای از شبیه سازی یک سیستم سیلندر هیدرولیک با استفاده از پسوند Simulink

1.gif

تصویر:

1b.gif

تصویر:

4. Real Time Windows Target و Workshop

Real Time Windows Target و Workshop

یک زیرسیستم قدرتمند شبیه‌سازی بلادرنگ که به Simulink (با سخت‌افزار اضافی در قالب کارت‌های توسعه رایانه) متصل می‌شود، که توسط بسته‌های توسعه Real Time Windows Target و Workshop نمایش داده می‌شود، ابزاری قدرتمند برای مدیریت اشیا و سیستم‌های واقعی است. علاوه بر این، این افزونه ها به شما امکان می دهند کدهای مدل اجرایی ایجاد کنید. برنج. 4.21 در درس 4 نمونه ای از چنین مدل سازی را برای سیستمی نشان می دهد که با معادلات دیفرانسیل غیرخطی واندر پول توصیف شده است. مزیت این شبیه سازی وضوح ریاضی و فیزیکی آن است. در اجزای مدل های سیمولینک، می توانید نه تنها پارامترهای ثابت، بلکه روابط ریاضی را نیز تعیین کنید که رفتار مدل ها را توصیف می کند.

5. ایجاد گزارش برای متلب و سیمولینک

تولید کننده گزارش برای متلب و سیمولینک

Report Generators، ابزاری که در MATLAB 5.3.1 معرفی شده است، اطلاعاتی در مورد عملکرد سیستم متلب و بسته الحاقی Simulink ارائه می دهد. این ابزار هنگام اشکال زدایی الگوریتم های محاسباتی پیچیده یا شبیه سازی سیستم های پیچیده بسیار مفید است. تولیدکنندگان گزارش با دستور Report راه اندازی می شوند. گزارش ها را می توان در قالب برنامه ارائه و ویرایش کرد.

مولدهای گزارش می توانند دستورات و تکه های برنامه موجود در گزارش ها را اجرا کنند و به شما امکان نظارت بر رفتار محاسبات پیچیده را می دهند.

6. جعبه ابزار شبکه های عصبی

جعبه ابزار شبکه های عصبی

بسته ای از برنامه های کاربردی حاوی ابزارهایی برای ساخت شبکه های عصبی بر اساس رفتار یک آنالوگ ریاضی یک نورون. این بسته پشتیبانی موثری برای طراحی، آموزش و مدل‌سازی بسیاری از پارادایم‌های شبکه شناخته‌شده، از مدل‌های پرسپترون اولیه تا پیشرفته‌ترین شبکه‌های انجمنی و خودسازمان‌دهنده، ارائه می‌کند. این بسته را می توان برای تحقیق و استفاده از شبکه های عصبی در کارهایی مانند پردازش سیگنال، کنترل غیرخطی و مدل سازی مالی استفاده کرد. ارائه قابلیت تولید C-code قابل حمل با استفاده از Real Time Workshop.

این بسته شامل بیش از 15 نوع شناخته شده شبکه و قوانین آموزشی است که به کاربر امکان می دهد مناسب ترین الگو را برای یک برنامه کاربردی یا مشکل تحقیقاتی خاص انتخاب کند. برای هر نوع معماری و قوانین آموزشی، توابعی برای مقداردهی اولیه، آموزش، تطبیق، ایجاد و مدلسازی، نمایش و نمونه برنامه شبکه وجود دارد.

برای شبکه‌های کنترل‌شده، می‌توانید یک معماری رو به جلو یا بازگشتی را با استفاده از انواع قوانین آموزشی و تکنیک‌های طراحی مانند پرسپترون، انتشار پس‌پشتی، انتشار پشتی لونبرگ، شبکه‌های مبتنی بر شعاعی و شبکه‌های تکراری انتخاب کنید. شما به راحتی می توانید هر معماری، قوانین آموزش یا توابع انتقال را تغییر دهید، موارد جدید اضافه کنید - و همه اینها بدون نوشتن یک خط در C یا Fortran. نمونه ای از استفاده از بسته برای تشخیص الگوی حروف در درس 4 آورده شده است. توضیحات کامل نسخه قبلی بسته در کتاب موجود است.

7. جعبه ابزار منطق فازی

جعبه ابزار منطق فازی

بسته نرم افزاری Fuzzy Logic متعلق به نظریه مجموعه های فازی (فازی) می باشد. پشتیبانی از روش های مدرن خوشه بندی فازی و شبکه های عصبی فازی تطبیقی ​​ارائه شده است. ابزارهای گرافیکی بسته به شما امکان می دهد تا به طور تعاملی بر ویژگی های رفتار سیستم نظارت کنید.

ویژگی های کلیدی پکیج:

  • تعریف متغیرها، قوانین فازی و توابع عضویت.
  • مشاهده تعاملی استنتاج فازی؛
  • روش های مدرن: استنتاج فازی تطبیقی ​​با استفاده از شبکه های عصبی، خوشه بندی فازی.
  • شبیه سازی پویا تعاملی در Simulink.
  • تولید کد سی قابل حمل با استفاده از Real-Time Workshop.

این مثال به وضوح تفاوت های رفتار مدل را با منطق فازی و بدون آن نشان می دهد.

8. جعبه ابزار ریاضی نمادین

جعبه ابزار ریاضی نمادین

بسته ای از برنامه های کاربردی که به سیستم MATLAB اساساً قابلیت های جدیدی می دهد - توانایی حل مسائل به شکل نمادین (تحلیلی) از جمله اجرای حساب دقیق عرض بیت دلخواه. این بسته مبتنی بر استفاده از هسته ریاضیات نمادین یکی از قدرتمندترین سیستم های جبر رایانه ای - Maple V R4 است. تمایز و ادغام نمادین، محاسبه مجموع و محصولات، بسط به سری های تیلور و مکلارین، عملیات با چندجمله ای های توان (چند جمله ای ها)، محاسبه ریشه های چند جمله ای، حل تحلیلی معادلات غیرخطی، انواع تبدیل های نمادین، جانشینی ها و موارد دیگر را ارائه می دهد. دارای دستوراتی برای دسترسی مستقیم به هسته سیستم Maple V.

این پکیج به شما این امکان را می دهد تا رویه هایی را با سینتکس زبان برنامه نویسی Maple V R4 آماده کرده و در سیستم متلب نصب کنید. متأسفانه، از نظر قابلیت‌های ریاضیات نمادین، این بسته نسبت به سیستم‌های تخصصی جبر رایانه‌ای مانند آخرین نسخه‌های Maple و Mathematica بسیار پایین‌تر است.

9. بسته های محاسبات ریاضی

بسته های ریاضی

متلب شامل بسته های الحاقی بسیاری است که قابلیت های ریاضی سیستم را برای افزایش سرعت، کارایی و دقت محاسبات افزایش می دهد.

10. جعبه ابزار بنیاد NAG

جعبه ابزار بنیاد NAG

یکی از قدرتمندترین کتابخانه های تابع ریاضی که توسط The Numerical Algorithms Group, Ltd. این بسته شامل صدها ویژگی جدید است. نام توابع و نحو برای فراخوانی آنها از کتابخانه معروف بنیاد NAG قرض گرفته شده است. در نتیجه کاربران مجرب NAG FORTRAN می توانند به راحتی با بسته NAG در متلب کار کنند. کتابخانه NAG Foundation توابع خود را در قالب کدهای شی و فایل های m مربوطه برای فراخوانی آنها ارائه می کند. کاربر به راحتی می تواند این فایل های MEX را در سطح منبع تغییر دهد.

بسته ویژگی های زیر را ارائه می دهد:

    ریشه های چند جمله ای ها و روش لاگر اصلاح شده.

    محاسبه مجموع یک سری: تبدیل فوریه گسسته و هرمیتی-گسسته.

    معادلات دیفرانسیل معمولی: روش های آدامز و رانگ-کوتا.

    معادلات دیفرانسیل جزئی;

    درون یابی

    محاسبه مقادیر ویژه و بردارها، اعداد منفرد، پشتیبانی از ماتریس های پیچیده و واقعی؛

    تقریب منحنی ها و سطوح: چند جمله ای ها، خطوط مکعبی، چند جمله ای چبیشف.

    به حداقل رساندن و بیشینه سازی توابع: برنامه ریزی خطی و درجه دوم، مازاد توابع چندین متغیر.

    تجزیه ماتریس ها؛

    حل سیستم های معادلات خطی.

    معادلات خطی (LAPACK)؛

    محاسبات آماری، از جمله آمار توصیفی و توزیع احتمال؛

    همبستگی و تحلیل رگرسیون: مدل های خطی خطی، چند متغیره و تعمیم یافته.

    روش های چند بعدی: اجزای اصلی، چرخش متعامد.

    تولید اعداد تصادفی: توزیع نرمال، توزیع پواسون، وایبول و کوشی.

    آمار ناپارامتریک: فریدمن، کروسکال-والیس، من ویتنی. سری زمانی: یک بعدی و چند بعدی.

    تقریب توابع ویژه: توان انتگرال، تابع گاما، توابع بسل و هانکل.

در نهایت، این بسته به کاربر اجازه می دهد تا برنامه های FORTRAN را ایجاد کند که به صورت پویا با MATLAB پیوند می خورد.

11. جعبه ابزار Spline

بسته کاربردی برای کار با splines. از درون یابی و تقریب یک بعدی، دو بعدی و چند بعدی اسپلاین پشتیبانی می کند. ارائه و نمایش داده های پیچیده و پشتیبانی گرافیکی را ارائه می دهد.

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

Spline مجهز به برنامه های B-spline است که در راهنمای عملی Splines توسط کارل دبور، خالق spline و نویسنده Spline شرح داده شده است. عملکردهای بسته، در ترکیب با زبان MATLAB و راهنمای کاربر دقیق، درک splines و به کارگیری موثر آنها را برای حل مشکلات مختلف آسان می کند.

این بسته شامل برنامه‌هایی برای کار با دو شکل رایج نمایش اسپلاین است: فرم B و شکل تکه‌ای چند جمله‌ای. شکل B در مرحله ساخت اسپلاین مفید است، در حالی که شکل تکه ای-چند جمله ای در حین کار مداوم با اسپلین کارآمدتر است. این بسته شامل توابعی برای ایجاد، نمایش، درون یابی، تقریب و پردازش splines در فرم B و در قالب بخش های چند جمله ای است.

12. جعبه ابزار آمار

جعبه ابزار آمار

بسته ای از برنامه های کاربردی برای آمار، گسترش چشمگیر قابلیت های سیستم متلب در اجرای محاسبات آماری و پردازش داده های آماری. شامل مجموعه ای بسیار نماینده از ابزارها برای تولید اعداد تصادفی، بردارها، ماتریس ها و آرایه ها با قوانین توزیع مختلف و همچنین بسیاری از توابع آماری است. لازم به ذکر است که رایج ترین توابع آماری در هسته سیستم متلب (شامل توابع تولید داده های تصادفی با توزیع یکنواخت و نرمال) گنجانده شده است. ویژگی های کلیدی پکیج:

    آمار توصیفی؛

    توزیع احتمال؛

    تخمین و تقریب پارامتر؛

    تست فرضیه؛

    رگرسیون چندگانه؛

    رگرسیون گام به گام تعاملی؛

    شبیه سازی مونت کارلو;

    تقریب فاصله؛

    کنترل فرآیند آماری؛

    برنامه ریزی یک آزمایش؛

    مدل سازی سطح پاسخ.

    تقریب یک مدل غیر خطی.

    تجزیه و تحلیل مؤلفه اصلی؛

    نمودارهای آماری;

    رابط کاربر گرافیکی.

این بسته شامل 20 توزیع احتمال مختلف از جمله t (Student)، F و Chi-square می باشد. انتخاب پارامترها، نمایش گرافیکی توزیع ها و روشی برای محاسبه بهترین تقریب ها برای انواع توزیع ها ارائه شده است. ابزارهای تعاملی زیادی برای تجسم و تجزیه و تحلیل داده های پویا وجود دارد. رابط های تخصصی برای مدل سازی سطوح پاسخ، تجسم توزیع ها، تولید اعداد تصادفی و خطوط سطح وجود دارد.

13. جعبه ابزار بهینه سازی

جعبه ابزار بهینه سازی

بسته کاربردی - برای حل مسائل بهینه سازی و سیستم های معادلات غیر خطی. از روش های بهینه سازی اولیه برای توابع تعدادی متغیر پشتیبانی می کند:

    بهینه سازی بدون قید و شرط توابع غیر خطی؛

    حداقل مربعات و درونیابی غیرخطی.

    حل معادلات غیر خطی;

    برنامه ریزی خطی؛

    برنامه نویسی درجه دوم؛

    کمینه سازی مشروط توابع غیرخطی؛

    روش حداقلی؛

    بهینه سازی چند هدفه

نمونه های متنوعی استفاده موثر از توابع بسته را نشان می دهد. همچنین می توان از آنها برای مقایسه نحوه حل یک مشکل با روش های مختلف استفاده کرد.

14. جعبه ابزار معادلات دیفرانسیل جزئی

جعبه ابزار معادلات دیفرانسیل جزئی

یک بسته کاربردی بسیار مهم حاوی توابع زیادی برای حل سیستم معادلات دیفرانسیل جزئی. ابزارهای مؤثری را برای حل چنین سیستم‌هایی از معادلات، از جمله سیستم‌های سفت، فراهم می‌کند. بسته از روش المان محدود استفاده می کند. دستورات و رابط گرافیکی بسته را می توان برای مدل سازی ریاضی معادلات دیفرانسیل جزئی استفاده کرد که در کلاس وسیعی از کاربردهای مهندسی و علمی از جمله مشکلات مقاومت مواد، محاسبات دستگاه های الکترومغناطیسی، مشکلات انتقال گرما و جرم و ... انتشار ویژگی های کلیدی پکیج:

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

    انتخاب مش خودکار و تطبیقی؛

    تنظیم شرایط مرزی: دیریکله، نویمان و مخلوط.

    تنظیم مشکل انعطاف پذیر با استفاده از نحو MATLAB.

    پارتیشن بندی مش کاملاً اتوماتیک و انتخاب اندازه عناصر محدود.

    طرح های طراحی غیرخطی و تطبیقی؛

    توانایی تجسم زمینه های پارامترها و عملکردهای مختلف راه حل، نمایشی از پارتیشن بندی و جلوه های انیمیشن اتخاذ شده.

بسته به طور مستقیم شش مرحله حل یک PDE را با استفاده از روش اجزای محدود دنبال می کند. این مراحل و حالت های مربوط به بسته به شرح زیر است: تعریف هندسه (حالت ترسیم)، تنظیم شرایط مرزی (حالت شرایط مرزی)، انتخاب ضرایب تعیین کننده مشکل (حالت PDE)، گسسته سازی عناصر محدود (حالت مش) ، تنظیم شرایط اولیه و حل معادلات (حالت حل)، پس پردازش حل (حالت نمودار).

15. بسته های تجزیه و تحلیل و سنتز سیستم های کنترل

بسته های آنالیز و سنتز برای سیستم های کنترل

جعبه ابزار سیستم کنترل

پکیج Control System برای مدلسازی، تحلیل و طراحی سیستم های کنترل خودکار - هم پیوسته و هم گسسته - در نظر گرفته شده است. توابع بسته روش های تابع انتقال سنتی و روش های فضای حالت مدرن را پیاده سازی می کنند. پاسخ های فرکانس و زمان، نمودارهای مکان صفر و قطب را می توان به سرعت محاسبه کرد و روی صفحه نمایش داد. بسته شامل:

    مجموعه ای کامل از ابزارها برای تجزیه و تحلیل سیستم های MIMO (بسیاری از ورودی ها - بسیاری از خروجی ها)؛

    ویژگی های زمانی: توابع انتقال و گذرا، پاسخ به یک تاثیر دلخواه.

    ویژگی های فرکانس: نمودارهای Bode، Nichols، Nyquist و غیره.

    توسعه بازخوردها؛

    طراحی تنظیم کننده های LQR / LQE؛

    ویژگی های مدل ها: کنترل پذیری، مشاهده پذیری، کاهش ترتیب مدل ها.

    پشتیبانی از سیستم های عقب افتاده

توابع ساخت مدل اضافی به شما امکان می دهد مدل های پیچیده تری بسازید. پاسخ زمانی را می توان برای یک ورودی پالس، یک پرش واحد یا یک ورودی دلخواه محاسبه کرد. همچنین توابعی برای تجزیه و تحلیل اعداد مفرد وجود دارد.

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

بسته سیستم کنترل حاوی ابزارهایی برای انتخاب پارامترهای بازخورد است. روش های سنتی شامل تجزیه و تحلیل نقطه ویژگی، افزایش و تعیین میرایی است. از جمله روش های مدرن: تنظیم خطی- درجه دوم و غیره. بسته سیستم کنترل شامل تعداد زیادی الگوریتم برای طراحی و تجزیه و تحلیل سیستم های کنترل است. علاوه بر این، دارای یک محیط قابل تنظیم است و به شما امکان می دهد فایل های m خود را ایجاد کنید.

16. جعبه ابزار طراحی کنترل غیرخطی

جعبه ابزار طراحی کنترل غیرخطی

مجموعه بلوک های طراحی کنترل غیرخطی (NCD) یک روش بهینه سازی پویا را برای طراحی سیستم های کنترل پیاده سازی می کند. این ابزار که برای استفاده با Simulink طراحی شده است، به طور خودکار پارامترهای سیستم را بر اساس محدودیت های زمانی تعریف شده توسط کاربر تنظیم می کند.

این بسته از اجسام متحرک با ماوس برای تغییر مستقیم محدودیت‌های زمانی بر روی نمودارها استفاده می‌کند، که به شما امکان می‌دهد به راحتی متغیرها را پیکربندی کنید و پارامترهای تعریف‌نشده را مشخص کنید، بهینه‌سازی تعاملی را ارائه می‌دهد، شبیه‌سازی‌های مونت کارلو را پیاده‌سازی می‌کند، از طراحی SISO (یک ورودی - یک خروجی) پشتیبانی می‌کند. و سیستم‌های کنترل MIMO، به شما امکان شبیه‌سازی لغو تداخل، ردیابی و انواع دیگر پاسخ‌ها را می‌دهد، از تکرار مشکلات پارامتر و وظایف کنترلی برای سیستم‌های با تاخیر پشتیبانی می‌کند، به شما امکان می‌دهد بین محدودیت‌های برآورده‌شده و غیرقابل دسترسی انتخاب کنید.

17. جعبه ابزار کنترل قوی

جعبه ابزار کنترل قوی

بسته کنترل قوی شامل ابزارهایی برای طراحی و تجزیه و تحلیل سیستم های کنترل قوی چند پارامتری است. اینها سیستم هایی با خطاهای شبیه سازی هستند که دینامیک آنها به طور کامل مشخص نیست یا ممکن است پارامترهای آنها در طول شبیه سازی تغییر کند. الگوریتم های قدرتمند بسته به شما امکان می دهد محاسبات پیچیده را با در نظر گرفتن تغییرات در بسیاری از پارامترها انجام دهید. ویژگی های پکیج:

    سنتز کنترل کننده های LQG بر اساس به حداقل رساندن هنجارهای یکنواخت و یکپارچه.

    پاسخ فرکانسی چند پارامتری؛

    ساخت مدل فضایی حالت؛

    تبدیل مدل ها بر اساس اعداد مفرد.

    کاهش ترتیب مدل؛

    فاکتورسازی طیفی

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

مظاهر عدم قطعیت هایی که پایداری سیستم ها را نقض می کند متنوع است - نویزها و اختلالات در سیگنال ها، عدم دقت مدل تابع انتقال، دینامیک غیر خطی غیر مدل سازی شده. بسته کنترل قوی به شما امکان می دهد مرز پایداری چند پارامتری را تحت عدم قطعیت های مختلف تخمین بزنید. از جمله روش های مورد استفاده: الگوریتم پرون، تحلیل ویژگی های توابع انتقال و غیره.

بسته کنترل قوی روش‌های مختلفی را برای طراحی بازخوردها ارائه می‌کند، از جمله: LQR، LQG، LQG / LTR، و غیره. نیاز به پایین آوردن مرتبه یک مدل در موارد متعددی ایجاد می‌شود: کاهش مرتبه یک شی، پایین آوردن نظم یک تنظیم‌کننده. ، مدل سازی سیستم های بزرگ. یک روش کیفی برای کاهش ترتیب یک مدل باید از نظر عددی پایدار باشد. رویه های موجود در بسته کنترل قوی با موفقیت با این کار کنار می آیند.

18. جعبه ابزار کنترل پیشگویانه مدل

جعبه ابزار کنترل پیشگویانه مدل

بسته کنترل پیش‌بینی مدل شامل مجموعه کاملی از ابزارها برای اجرای استراتژی‌های کنترل پیش‌بینانه (پیش‌گیرانه) است. این استراتژی برای حل مشکلات عملی مدیریت فرآیندهای چند کاناله پیچیده با محدودیت‌هایی بر روی متغیرهای حالت و کنترل توسعه داده شد. روش های کنترل پیش بینی در صنایع شیمیایی و برای کنترل سایر فرآیندهای پیوسته استفاده می شود. بسته ارائه می دهد:

    مدل سازی، شناسایی و تشخیص سیستم ها؛

    پشتیبانی از MISO (بسیاری از ورودی ها - یک خروجی)، MIMO، پاسخ گذرا، مدل های فضای حالت.

    تحلیل سیستم؛

    تبدیل مدل ها به اشکال مختلف نمایش (فضای حالت، توابع انتقال).

    ارائه آموزش و دمو

یک رویکرد پیش‌بینی‌کننده برای کنترل مسائل از یک مدل دینامیکی خطی صریح از یک شی برای پیش‌بینی تأثیر تغییرات آتی در متغیرهای کنترلی بر رفتار یک شی استفاده می‌کند. مسئله بهینه سازی در قالب یک مسئله برنامه نویسی درجه دوم محدود فرموله شده است که در هر چرخه شبیه سازی مجددا حل می شود. این بسته به شما اجازه می دهد تا تنظیم کننده هایی را برای اشیاء ساده و پیچیده ایجاد و آزمایش کنید.

این بسته شامل بیش از پنجاه عملکرد تخصصی برای طراحی، تحلیل و مدل‌سازی سیستم‌های دینامیکی با استفاده از کنترل پیش‌بینی است. از انواع سیستم های زیر پشتیبانی می کند: ضربه، پیوسته و گسسته در زمان، فضای حالت. انواع مختلفی از اختلالات پردازش می شود. علاوه بر این، محدودیت های متغیرهای ورودی و خروجی را می توان به صراحت در مدل گنجاند.

ابزارهای شبیه سازی امکان ردیابی و تثبیت را فراهم می کنند. ابزارهای تحلیل شامل محاسبه قطب های حلقه بسته، پاسخ فرکانسی و سایر ویژگی های سیستم کنترل است. برای شناسایی مدل در بسته، توابعی برای تعامل با بسته شناسایی سیستم وجود دارد. این بسته همچنین شامل دو تابع Simulink است که به شما امکان آزمایش مدل‌های غیرخطی را می‌دهد.

19.mu - تجزیه و تحلیل و سنتز

(مو) -تحلیل و سنتز

بسته P-Analysis and Synthesis شامل توابعی برای طراحی سیستم های کنترل قوی است. این بسته از بهینه سازی نرخ یکنواخت و پارامتر تکی و. این بسته شامل یک رابط گرافیکی برای ساده کردن عملیات بلوک هنگام طراحی کنترلرهای بهینه است. خواص پکیج:

  • طراحی کنترل کننده هایی که در هنجارهای یکنواخت و یکپارچه بهینه هستند.
  • تخمین پارامتر منفرد واقعی و مختلط مو
  • تکرارهای D-K برای یک عدد تقریبی مو-سنتز؛

    یک رابط گرافیکی برای تجزیه و تحلیل پاسخ حلقه بسته.

    ابزاری برای کاهش ترتیب مدل؛

    اتصال مستقیم بلوک های جداگانه سیستم های بزرگ.

یک مدل فضای حالت را می توان بر اساس ماتریس های سیستم ایجاد و تجزیه و تحلیل کرد. این بسته از مدل های پیوسته و گسسته پشتیبانی می کند. این بسته دارای یک رابط گرافیکی کامل است، از جمله: توانایی تنظیم محدوده داده های ورودی، یک پنجره ویژه برای ویرایش ویژگی های تکرارهای D-K و نمایش گرافیکی ویژگی های فرکانس. دارای توابعی برای جمع ماتریس، ضرب، تبدیل های مختلف و سایر عملیات روی ماتریس ها. امکان کاهش ترتیب مدل ها را فراهم می کند.

20. جریان وضعیت

Stateflow یک بسته مدل‌سازی سیستم مبتنی بر رویداد مبتنی بر نظریه ماشین حالت محدود است. این بسته برای استفاده همراه با بسته شبیه سازی سیستم های دینامیک Simulink در نظر گرفته شده است. در هر مدل سیمولینک، می‌توانید یک نمودار Stateflow (یا نمودار SF) وارد کنید که رفتار اجزای شی (یا سیستم) شبیه‌سازی را منعکس کند. نمودار SF متحرک است. با بلوک ها و اتصالات برجسته آن، می توانید تمام مراحل سیستم یا دستگاه مدل شده را ردیابی کنید و کار آن را به رویدادهای خاصی وابسته کنید. برنج. 23.6 شبیه سازی رفتار یک خودرو در مواقع اضطراری در جاده را نشان می دهد. یک نمودار SF (به طور دقیق تر، یک فریم از کار آن) در زیر مدل ماشین قابل مشاهده است.

برای ایجاد نمودارهای SF، بسته دارای یک ویرایشگر راحت و ساده و همچنین ابزارهای رابط کاربری است.

21. جعبه ابزار نظریه بازخورد کمی

جعبه ابزار نظریه بازخورد کمی

این بسته شامل عملکردهایی برای ایجاد سیستم های بازخورد قوی (پایدار) است. QFT (نظریه بازخورد کمی) یک تکنیک مهندسی است که از نمایش فرکانس مدل‌ها برای برآوردن الزامات مختلف کیفیت در حضور ویژگی‌های شی نامشخص استفاده می‌کند. این روش مبتنی بر مشاهده است که در مواردی که برخی از ویژگی‌های یک شی نامشخص است و / یا اختلالات ناشناخته در ورودی آن اعمال می‌شود، بازخورد ضروری است. ویژگی های پکیج:

    تخمین مرزهای فرکانس عدم قطعیت ذاتی در بازخورد؛

    یک رابط کاربری گرافیکی که به شما امکان می دهد فرآیند یافتن پارامترهای بازخورد مورد نیاز را بهینه کنید.

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

    پشتیبانی از شبیه سازی حلقه های بازخورد آنالوگ و دیجیتال، آبشارها و مدارهای چند حلقه.

    تفکیک عدم قطعیت در پارامترهای شی با استفاده از مدل های پارامتری و ناپارامتریک یا ترکیبی از این نوع مدل ها.

نظریه بازخورد یک توسعه طبیعی از رویکرد طراحی مبتنی بر فرکانس کلاسیک است. هدف اصلی آن طراحی کنترل‌کننده‌های ساده و کوچک با حداقل پهنای باند، عملکرد رضایت بخش در صورت عدم قطعیت است.

این بسته امکان محاسبه پارامترهای مختلف بازخوردها، فیلترها، کنترلرهای آزمایشی را در فضای پیوسته و گسسته فراهم می کند. این دارای یک رابط گرافیکی کاربر پسند است که به شما امکان می دهد کنترل های ساده ای ایجاد کنید که نیازهای کاربر را برآورده کند.

QFT به کنترلرها اجازه می دهد تا علی رغم تغییر در پارامترهای مدل، به گونه ای طراحی شوند که نیازهای مختلف را برآورده کنند. داده های اندازه گیری شده را می توان به طور مستقیم برای طراحی تنظیم کننده، بدون نیاز به شناسایی پاسخ های پیچیده سیستم مورد استفاده قرار داد.

22. جعبه ابزار کنترل LMI

جعبه ابزار کنترل LMI

بسته کنترل LMI (Linear Matrix Inequality) یک محیط یکپارچه برای تنظیم و حل مسائل برنامه ریزی خطی فراهم می کند. این بسته که در ابتدا برای طراحی سیستم های کنترل در نظر گرفته شده بود، به شما امکان می دهد تا هر گونه مشکل برنامه ریزی خطی را در تقریباً هر زمینه ای از فعالیت که چنین مشکلاتی ایجاد می شود، حل کنید. ویژگی های کلیدی پکیج:

    حل مسائل برنامه ریزی خطی: مشکلات سازگاری محدودیت ها، به حداقل رساندن اهداف خطی در حضور محدودیت های خطی، به حداقل رساندن مقادیر ویژه.

    تحقیق در مورد مسائل برنامه ریزی خطی.

    ویرایشگر گرافیکی برای وظایف برنامه نویسی خطی.

    تعیین محدودیت ها به شکل نمادین؛

    طراحی چند معیاره رگولاتورها؛

    تست پایداری: پایداری درجه دوم سیستم های خطی، پایداری لیاپانوف، تایید معیار پوپوف برای سیستم های غیرخطی.

بسته LMI Control شامل الگوریتم های سیمپلکس مدرن برای حل مسائل برنامه ریزی خطی است. از یک نمایش ساختاری از محدودیت های خطی استفاده می کند که کارایی را بهبود می بخشد و نیازهای حافظه را به حداقل می رساند. این پکیج دارای ابزارهای تخصصی برای تحلیل و طراحی سیستم های کنترلی مبتنی بر برنامه ریزی خطی می باشد.

با حل‌کننده‌های برنامه‌نویسی خطی، می‌توانید به راحتی بررسی پایداری سیستم‌ها و سیستم‌های دینامیکی با اجزای غیرخطی را انجام دهید. پیش از این، این نوع تحلیل برای پیاده سازی بسیار پیچیده در نظر گرفته می شد. این بسته حتی چنین ترکیبی از معیارها را مجاز می‌کند، که قبلاً بیش از حد پیچیده و تنها با کمک رویکردهای اکتشافی قابل حل در نظر گرفته می‌شد.

این بسته یک ابزار قدرتمند برای حل مسائل بهینه سازی محدب است که در زمینه هایی مانند کنترل، شناسایی، فیلتر کردن، "طراحی ساختاری، نظریه گراف، درون یابی و جبر خطی ایجاد می شود. بسته LMI Control شامل دو نوع رابط کاربری گرافیکی است: مسئله برنامه ریزی خطی. ویرایشگر (ویرایشگر LMI) و رابط Magshape، ویرایشگر LMI اجازه می دهد تا محدودیت های کاراکتر را تنظیم کنید، و Magshape ابزاری کاربرپسند برای کار با بسته ارائه می دهد.

23. بسته های شناسایی سیستم

بسته های شناسایی سیستم

جعبه ابزار شناسایی سیستم

بسته شناسایی سیستم حاوی ابزارهایی برای ایجاد مدل های ریاضی سیستم های دینامیکی بر اساس داده های ورودی و خروجی مشاهده شده است. این یک رابط گرافیکی انعطاف پذیر برای کمک به سازماندهی داده ها و ایجاد مدل ها دارد. روش‌های شناسایی موجود در بسته برای حل یک کلاس وسیع از مشکلات، از طراحی سیستم‌های کنترل و پردازش سیگنال گرفته تا تجزیه و تحلیل سری‌های زمانی و ارتعاش، قابل استفاده هستند. ویژگی های اصلی بسته بندی:

    رابط کاربری ساده و انعطاف پذیر؛

    پیش پردازش داده ها، از جمله پیش فیلتر کردن، حذف روندها و افست ها. O انتخاب طیف وسیعی از داده ها برای تجزیه و تحلیل؛

    تجزیه و تحلیل پاسخ در حوزه زمان و فرکانس؛

    نمایش صفرها و قطب های تابع انتقال سیستم؛

    تجزیه و تحلیل باقیمانده در هنگام آزمایش مدل؛

    ساختن نمودارهای پیچیده، مانند نمودار نایکوئیست و غیره.

رابط گرافیکی پیش پردازش داده ها و همچنین فرآیند تعاملی شناسایی مدل را ساده می کند. همچنین امکان کار با بسته در حالت فرمان و با استفاده از پسوند Simulink وجود دارد. عملیات بارگیری و ذخیره داده ها، انتخاب محدوده، حذف افست ها و روندها با حداقل تلاش انجام می شود و در منوی اصلی قرار دارد.

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

با شروع اندازه گیری خروجی و ورودی، می توانید یک مدل پارامتریک از یک سیستم ایجاد کنید که رفتار دینامیکی آن را توصیف می کند. این پکیج از تمام ساختارهای مدل سنتی، از جمله ساختارهای اتورگرسیو، باکس-جنکینز و غیره پشتیبانی می کند.از مدل های فضای حالت خطی که می توانند در فضای گسسته و پیوسته تعریف شوند، پشتیبانی می کند. این مدل ها می توانند شامل تعداد دلخواه ورودی و خروجی باشند. این بسته شامل توابعی است که می تواند به عنوان داده های آزمایشی برای مدل های شناسایی شده استفاده شود. شناسایی مدل خطی به طور گسترده ای در طراحی سیستم های کنترلی استفاده می شود که نیاز به ایجاد مدلی از یک شی باشد. در وظایف پردازش سیگنال، از مدل ها می توان برای پردازش سیگنال تطبیقی ​​استفاده کرد. روش‌های شناسایی با موفقیت در برنامه‌های مالی نیز اعمال می‌شوند.

24. جعبه ابزار شناسایی سیستم دامنه فرکانس

جعبه ابزار شناسایی سیستم دامنه فرکانس

بسته شناسایی سیستم دامنه فرکانس ابزارهای تخصصی برای شناسایی سیستم های دینامیکی خطی بر اساس زمان یا پاسخ فرکانسی آنها ارائه می دهد. هدف روش‌های دامنه فرکانس شناسایی سیستم‌های پیوسته است که افزوده‌ای قدرتمند به روش گسسته سنتی‌تر است. روش های پکیج را می توان برای مشکلاتی مانند مدل سازی سیستم های الکتریکی، مکانیکی و صوتی به کار برد. خواص پکیج:

    اختلالات دوره ای، ضریب پیک، طیف بهینه، توالی های باینری شبه تصادفی و گسسته.

    محاسبه فواصل اطمینان دامنه و فاز، صفر و قطب.

    شناسایی سیستم های پیوسته و گسسته با تاخیر نامعلوم.

    تشخیص مدل، از جمله مدل سازی و محاسبه باقیمانده.

    تبدیل مدل ها به قالب جعبه ابزار شناسایی سیستم و بالعکس.

با استفاده از رویکرد دامنه فرکانس، می توان به بهترین مدل ممکن در حوزه فرکانس دست یافت. اجتناب از خطاهای نمونه گیری؛ آسان برای جدا کردن جزء ثابت سیگنال. به طور قابل توجهی نسبت سیگنال به نویز را بهبود می بخشد. برای به دست آوردن سیگنال های مزاحم، بسته توابعی برای تولید توالی های دوتایی، به حداقل رساندن اندازه پیک و بهبود ویژگی های طیفی ارائه می دهد. این بسته شناسایی سیستم‌های استاتیک خطی پیوسته و گسسته، تولید خودکار سیگنال‌های ورودی، و همچنین نمایش گرافیکی صفرها و قطب‌های تابع انتقال سیستم حاصل را فراهم می‌کند. توابع برای آزمایش مدل شامل محاسبه باقیمانده ها، توابع انتقال، صفرها و قطب ها و اجرای مدل با استفاده از داده های آزمایشی است.

25. بسته های افزونه MATLAB اضافی

بسته های الحاقی MATLAB

جعبه ابزار ارتباطات

بسته برنامه های کاربردی ساخت و مدل سازی انواع دستگاه های مخابراتی: خطوط ارتباطی دیجیتال، مودم ها، مبدل های سیگنال و ... دارای مجموعه ای غنی از مدل های بسیار متنوع از وسایل ارتباطی و مخابراتی می باشد. شامل چند نمونه جالب از ابزارهای ارتباطی مدل سازی، مانند مودم v34، مدولاتور برای SSB و غیره است.

26. مجموعه بلوک پردازش سیگنال دیجیتال (DSP).

مجموعه بلوک پردازش سیگنال دیجیتال (DSP).

بسته کاربردی طراحی دستگاه ها با استفاده از پردازنده های سیگنال دیجیتال. اینها اول از همه فیلترهای دیجیتالی با کارایی بالا با پاسخ فرکانسی معین (AFC) یا قابل انطباق با پارامترهای سیگنال هستند. از نتایج مدل‌سازی و طراحی دستگاه‌های دیجیتال با استفاده از این بسته می‌توان برای ساخت فیلترهای دیجیتال بسیار کارآمد بر روی ریزپردازنده‌های مدرن برای پردازش سیگنال دیجیتال استفاده کرد.

27. Fixed-Point Blockset

مجموعه بلوک های نقطه ثابت

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

    استفاده از محاسبات بدون علامت یا باینری؛

    موقعیت نقطه باینری قابل انتخاب توسط کاربر.

    تنظیم خودکار موقعیت نقطه باینری؛

    مشاهده حداکثر و حداقل دامنه سیگنال مدل.

    جابجایی بین محاسبات ثابت و شناور؛

    تصحیح سرریز و در دسترس بودن اجزای کلیدی برای عملیات نقطه ثابت. عملگرهای منطقی، جداول جستجوی یک بعدی و دو بعدی.

28. بسته هایی برای پردازش سیگنال و تصویر

بسته های پردازش سیگنال و تصویر

جعبه ابزار پردازش سیگنال

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

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

    شبیه سازی سیگنال ها و سیستم های خطی.

    طراحی، تحلیل و اجرای فیلترهای دیجیتال و آنالوگ.

    تبدیل فوریه سریع، کسینوس گسسته و تبدیل های دیگر.

    ارزیابی طیف و پردازش سیگنال آماری؛

    پردازش پارامتریک سری های زمانی؛

    تولید سیگنال با اشکال مختلف

بسته پردازش سیگنال یک چارچوب ایده آل برای تجزیه و تحلیل و پردازش سیگنال است. از الگوریتم های میدانی اثبات شده برای حداکثر کارایی و قابلیت اطمینان استفاده می کند. این بسته شامل طیف گسترده ای از الگوریتم ها برای نمایش سیگنال ها و مدل های خطی است. این مجموعه به کاربر اجازه می دهد تا برای ایجاد یک اسکریپت پردازش سیگنال به اندازه کافی انعطاف پذیر باشد. این بسته شامل الگوریتم هایی برای تبدیل یک مدل از یک نمای به نمای دیگر است.

بسته پردازش سیگنال شامل مجموعه ای کامل از روش ها برای ایجاد فیلترهای دیجیتال با ویژگی های مختلف است. این امکان را به شما می دهد تا به سرعت فیلترهای بالا گذر و پایین گذر، فیلترهای باند گذر و توقف گذر، فیلترهای چند باند از جمله Chebyshev، Yula-Walker، بیضوی و غیره را طراحی کنید.

رابط گرافیکی به شما این امکان را می دهد که فیلترها را با مشخص کردن الزامات آنها در حالت حرکت اجسام با ماوس طراحی کنید. این بسته شامل تکنیک های جدید طراحی فیلتر زیر است:

    روش چبیشف تعمیم یافته برای ایجاد فیلترهایی با پاسخ فاز غیر خطی، ضرایب پیچیده یا پاسخ دلخواه. این الگوریتم توسط McLenan و Karam در سال 1995 توسعه یافت.

    روش حداقل مربعات محدود به کاربر این امکان را می دهد که به صراحت حداکثر خطا را کنترل کند.

    روش محاسبه حداقل ترتیب فیلتر با پنجره Kaiser.

    روش تعمیم یافته باترورث برای طراحی فیلترهای پایین گذر با حداکثر پهنای باند و تضعیف یکنواخت.

بر اساس یک الگوریتم FFT بهینه، پردازش سیگنال عملکرد بی نظیری را برای تحلیل فرکانس و تخمین طیفی ارائه می دهد. این بسته شامل توابعی برای محاسبه تبدیل فوریه گسسته، تبدیل کسینوس گسسته، تبدیل هیلبرت و سایر تبدیل‌هایی است که اغلب برای تحلیل، کدگذاری و فیلتر کردن استفاده می‌شوند. این پکیج روش های تحلیل طیفی مانند روش ولچ، روش حداکثر آنتروپی و غیره را پیاده سازی می کند.

رابط گرافیکی جدید به شما امکان مشاهده و ارزیابی بصری ویژگی های سیگنال ها، طراحی و اعمال فیلترها، انجام تجزیه و تحلیل طیفی، بررسی تأثیر روش های مختلف و پارامترهای آنها بر نتیجه به دست آمده را می دهد. رابط گرافیکی به ویژه برای تجسم سری های زمانی، طیف ها، پاسخ های زمانی و فرکانسی و مکان صفرها و قطب های توابع انتقال سیستم مفید است.

بسته پردازش سیگنال اساس بسیاری از وظایف دیگر است. به عنوان مثال، با ترکیب آن با بسته پردازش تصویر، می توانید سیگنال ها و تصاویر دو بعدی را پردازش و تجزیه و تحلیل کنید. بسته پردازش سیگنال همراه با بسته شناسایی سیستم، امکان مدل‌سازی پارامتریک سیستم‌ها در حوزه زمان را فراهم می‌کند. در ترکیب با بسته‌های Neural Network و Fuzzy Logic، می‌توان ابزارهای زیادی برای پردازش داده‌ها یا استخراج ویژگی‌های طبقه‌بندی ایجاد کرد. ژنراتور سیگنال به شما امکان می دهد سیگنال های پالسی با اشکال مختلف ایجاد کنید.

29. جعبه ابزار آنالیز طیفی مرتبه بالاتر

جعبه ابزار آنالیز طیفی مرتبه بالاتر

بسته تجزیه و تحلیل طیفی مرتبه بالاتر شامل الگوریتم های خاصی برای تجزیه و تحلیل سیگنال با استفاده از گشتاورهای مرتبه بالاتر است. این بسته فرصت های زیادی را برای تجزیه و تحلیل سیگنال های غیر گاوسی فراهم می کند، زیرا حاوی الگوریتم هایی است که شاید پیشرفته ترین روش ها برای تجزیه و تحلیل و پردازش سیگنال ها باشد. ویژگی های کلیدی پکیج:

    ارزیابی طیف های مرتبه بالا؛

    رویکرد سنتی یا پارامتریک؛

    بازیابی دامنه و فاز؛

    پیش بینی خطی تطبیقی؛

    بازیابی هارمونیک ها؛

    تخمین تاخیر؛

    بلوک پردازش سیگنال

بسته تجزیه و تحلیل طیفی مرتبه بالاتر به شما امکان می دهد سیگنال های آسیب دیده توسط نویز غیر گاوسی و فرآیندهای رخ داده در سیستم های غیرخطی را تجزیه و تحلیل کنید. طیف‌های مرتبه بالا، که بر حسب ممان‌های مرتبه بالا سیگنال تعریف می‌شوند، حاوی اطلاعات اضافی هستند که تنها با استفاده از همبستگی خودکار یا تجزیه و تحلیل طیف قدرت سیگنال نمی‌توان به دست آورد. طیف های مرتبه بالا اجازه می دهد:

    سرکوب نویز گاوسی رنگ افزودنی.

    شناسایی سیگنال های فاز غیر حداقل

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

    شناسایی و تجزیه و تحلیل خواص غیر خطی سیگنال ها

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

30. جعبه ابزار پردازش تصویر

جعبه ابزار پردازش تصویر

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

    بازیابی و انتخاب جزئیات تصویر؛

    کار با منطقه انتخاب شده از تصویر؛

    تجزیه و تحلیل تصویر؛

    فیلتراسیون خطی؛

    تبدیل تصاویر؛

    تحولات هندسی؛

    افزایش کنتراست جزئیات مهم؛

    تبدیل های دودویی؛

    پردازش تصویر و آمار؛

    تبدیل رنگ؛

    تغییر پالت؛

    تبدیل انواع تصاویر

بسته پردازش تصویر فرصت های زیادی را برای ایجاد و تجزیه و تحلیل تصاویر گرافیکی در محیط متلب فراهم می کند. این بسته یک رابط بسیار انعطاف‌پذیر برای دستکاری تصاویر، طراحی تعاملی گرافیک، تجسم مجموعه داده‌ها و حاشیه‌نویسی نتایج برای کاغذهای سفید، گزارش‌ها و نشریات فراهم می‌کند. انعطاف پذیری، ترکیب الگوریتم های بسته با چنین ویژگی متلب مانند توصیف ماتریس-بردار، بسته را برای حل تقریباً هر مشکلی در توسعه و ارائه گرافیک بسیار مناسب می کند. نمونه هایی از استفاده از این بسته در محیط سیستم متلب در درس 7 آورده شد. متلب شامل رویه های طراحی شده ویژه ای برای بهبود کارایی پوسته گرافیکی است. به ویژه می توان به ویژگی های زیر اشاره کرد:

    اشکال زدایی تعاملی هنگام توسعه گرافیک.

    پروفایلر برای بهینه سازی زمان اجرای الگوریتم؛

    ابزارهایی برای ساخت یک رابط کاربری گرافیکی تعاملی (GUI Builder) برای تسریع در توسعه قالب های رابط کاربری گرافیکی، به شما امکان می دهد آن را برای کارهای کاربر سفارشی کنید.

این بسته به کاربر اجازه می دهد تا زمان و تلاش کمتری را برای ایجاد تصاویر گرافیکی استاندارد صرف کند و در نتیجه تلاش خود را بر روی جزئیات و ویژگی های مهم تصاویر متمرکز کند.

متلب و بسته پردازش تصویر حداکثر برای توسعه، پیاده سازی ایده های جدید و روش های کاربر سازگار هستند. برای این کار، مجموعه‌ای از بسته‌های واسط با هدف حل انواع وظایف و وظایف خاص در یک محیط غیر متعارف وجود دارد.

پردازش تصویر در حال حاضر در بیش از 4000 شرکت و دانشگاه در سراسر جهان به شدت مورد استفاده قرار می گیرد. در عین حال، طیف بسیار گسترده ای از وظایف وجود دارد که کاربران با استفاده از این بسته آن را حل می کنند، به عنوان مثال، تحقیقات فضایی، توسعه نظامی، نجوم، پزشکی، زیست شناسی، رباتیک، علم مواد، ژنتیک و غیره.

31. جعبه ابزار موجک

بسته Wavelet مجموعه کاملی از برنامه ها را برای مطالعه پدیده های غیر ثابت چند بعدی با استفاده از موجک ها (بسته های موج کوتاه) در اختیار کاربر قرار می دهد. روش‌های نسبتاً اخیراً ایجاد شده در بسته Wavelet، قابلیت‌های کاربر را در مناطقی که معمولاً تکنیک تجزیه فوریه به کار می‌رود، گسترش می‌دهد. این بسته می تواند برای کاربردهایی مانند پردازش سیگنال گفتار و صوتی، مخابرات، ژئوفیزیک، امور مالی و پزشکی مفید باشد. ویژگی های اصلی بسته بندی:

    رابط کاربری گرافیکی بهبود یافته و مجموعه دستورات برای تجزیه و تحلیل، سنتز، فیلتر کردن سیگنال ها و تصاویر.

    تبدیل سیگنال های پیوسته چند بعدی؛

    تبدیل سیگنال گسسته؛

    تجزیه و تجزیه و تحلیل سیگنال ها و تصاویر.

    طیف گسترده ای از توابع اساسی، از جمله تصحیح اثرات مرزی.

    پردازش دسته ای سیگنال ها و تصاویر؛

    تجزیه و تحلیل بسته سیگنال مبتنی بر آنتروپی.

    فیلترینگ با قابلیت تنظیم آستانه های سخت و غیر سخت.

    فشرده سازی سیگنال بهینه

با استفاده از بسته، می‌توانید ویژگی‌هایی را که توسط روش‌های دیگر تحلیل سیگنال نادیده گرفته می‌شوند، مانند روندها، نقاط دورافتاده، ناپیوستگی در مشتقات سفارشات بالا، تجزیه و تحلیل کنید. این بسته به شما امکان می‌دهد سیگنال‌ها را بدون از دست دادن آشکار فشرده و فیلتر کنید، حتی در مواردی که لازم است اجزای فرکانس بالا و پایین سیگنال را حفظ کنید. الگوریتم‌هایی برای فشرده‌سازی و فیلتر کردن و پردازش سیگنال بسته در دسترس هستند. برنامه های فشرده سازی حداقل تعداد ضرایبی را استخراج می کنند که اطلاعات اصلی را با بیشترین دقت نشان می دهد، که برای مراحل بعدی سیستم فشرده سازی بسیار مهم است. این بسته شامل مجموعه موجک های اصلی زیر است: دوقطبی، هار، "کلاه مکزیکی"، مایر و غیره. همچنین می توانید پایه های خود را به بسته اضافه کنید.

یک راهنمای کاربر گسترده نحوه کار با روش های بسته را توضیح می دهد که همراه با مثال های متعدد و بخش پیوندهای کامل است.

32. سایر بسته های برنامه های کاربردی

سایر بسته های کاربردی

جعبه ابزار مالی

بسته ای از برنامه های کاربردی برای محاسبات مالی و اقتصادی که برای دوره اصلاحات بازار ما کاملاً مرتبط است. شامل بسیاری از توابع برای محاسبه بهره مرکب، عملیات روی سپرده های بانکی، محاسبه سود و بسیاری موارد دیگر. متأسفانه، به دلیل تفاوت های متعدد (اگرچه، به طور کلی، نه خیلی اساسی) در فرمول های مالی و اقتصادی، استفاده از آن در شرایط ما همیشه معقول نیست - برنامه های داخلی زیادی برای چنین محاسباتی وجود دارد، به عنوان مثال، "حسابداری 1C". اما اگر می‌خواهید از طریق جعبه ابزار متلب دیتافید به پایگاه‌های اطلاعاتی خبرگزاری‌های مالی - بلوم‌برگ، IDC متصل شوید، مطمئناً از بسته‌های افزونه مالی متلب استفاده کنید.

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

    پردازش داده ها؛

    تجزیه و تحلیل واریانس کارایی سبد سرمایه گذاری؛

    تجزیه و تحلیل سری زمانی؛

    محاسبه بازده اوراق بهادار و ارزیابی نرخ ها؛

    تجزیه و تحلیل آماری و تجزیه و تحلیل حساسیت بازار؛

    محاسبه درآمد سالانه و محاسبه جریان های نقدی؛

    روشهای استهلاک و استهلاک

با توجه به اهمیت تاریخ یک تراکنش مالی خاص، بسته مالی شامل چندین عملکرد برای دستکاری تاریخ ها و زمان ها در قالب های مختلف است. بسته مالی به شما امکان می دهد هنگام سرمایه گذاری در اوراق، قیمت ها و بازده را محاسبه کنید. کاربر قابلیت تنظیم غیراستاندارد، از جمله نامنظم و ناسازگار با یکدیگر، زمان‌بندی تراکنش‌های بدهکار و اعتباری و تسویه نهایی در هنگام پرداخت قبوض را دارد. توابع اقتصادی حساسیت را می توان با در نظر گرفتن تاریخ های سررسید در زمان های مختلف محاسبه کرد.

الگوریتم‌های بسته مالی برای محاسبه شاخص‌های جریان نقدی و سایر داده‌های منعکس‌شده در حساب‌های مالی، به شما این امکان را می‌دهد که به‌ویژه نرخ بهره وام‌ها و اعتبارات، نسبت‌های سودآوری، دریافت‌های اعتباری و کل اقلام تعهدی را محاسبه کنید، ارزش یک را برآورد و پیش‌بینی کنید. سبد سرمایه گذاری، محاسبه شاخص های استهلاک و غیره. توابع بسته را می توان با در نظر گرفتن جریان های نقدی مثبت و منفی (جریان نقدی) (به ترتیب مازاد دریافت های نقدی بیش از پرداخت ها یا پرداخت های نقدی بیش از دریافت ها) مورد استفاده قرار داد.

بسته مالی شامل الگوریتم هایی است که به شما امکان می دهد سبد سرمایه گذاری، پویایی و ضرایب حساسیت اقتصادی را تجزیه و تحلیل کنید. به طور خاص، هنگام تعیین کارایی سرمایه گذاری، عملکردهای بسته به شما امکان می دهد یک سبد تشکیل دهید که مشکل کلاسیک G. Markowitz را برآورده می کند. کاربر می تواند الگوریتم های بسته را برای محاسبه نسبت شارپ و نرخ بازده ترکیب کند. تجزیه و تحلیل پویایی و ضرایب حساسیت اقتصادی به کاربر این امکان را می دهد که موقعیت هایی را برای معاملات straddle، hedging و معاملات با نرخ ثابت تعریف کند. مجموعه مالی همچنین گزینه های گسترده ای را برای ارائه و ارائه داده ها و نتایج در قالب نمودارها و نمودارهایی که برای صنایع اقتصادی و مالی سنتی است، ارائه می دهد. وجوه به درخواست کاربر در قالب های اعشاری، بانکی و درصدی قابل نمایش است.

33. جعبه ابزار نقشه برداری

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

    تجسم، پردازش و تجزیه و تحلیل داده های گرافیکی و علمی؛

    بیش از 60 پیش بینی نقشه (مستقیم و معکوس)؛

    طراحی و نمایش نقشه های برداری، ماتریسی و ترکیبی.

    رابط گرافیکی برای ساخت و پردازش نقشه ها و داده ها.

    اطلس های داده های جهانی و منطقه ای و ارتباط با داده های دولتی با وضوح بالا.

    آمار جغرافیایی و توابع ناوبری؛

    ارائه 3 بعدی نقشه ها با نورپردازی داخلی و سایه.

    مبدل های فرمت های رایج داده های جغرافیایی: DCW، TIGER، ETOPO5.

مجموعه نقشه برداری شامل بیش از 60 مورد از شناخته شده ترین پیش بینی ها، از جمله استوانه ای، شبه استوانه ای، مخروطی، چند مخروطی و شبه مخروطی، آزیموت و شبه آزیموت است. امکان پیش بینی مستقیم و معکوس وجود دارد و همچنین نمایش های طرح ریزی غیر استاندارد که توسط کاربر مشخص شده است.

در بسته بندی نقشه برداری با کارتهر متغیر یا مجموعه ای از متغیرها که یک مقدار عددی را به یک نقطه یا منطقه جغرافیایی منعکس یا نسبت می دهد نامیده می شود. این بسته به شما امکان می دهد با نقشه های برداری، ماتریس و داده های ترکیبی کار کنید. یک رابط گرافیکی قدرتمند، نقشه‌های تعاملی را فراهم می‌کند، مانند امکان حرکت نشانگر روی یک آیتم و کلیک روی آن برای دریافت اطلاعات. رابط گرافیکی MAPTOOL یک محیط توسعه کامل برای برنامه های کاربردی برای کار با نقشه ها است.

شناخته شده ترین اطلس های جهان آمریکا اطلس های نجومی در بسته بندی موجود می باشد. ساختار داده های جغرافیایی استخراج و پردازش داده ها از اطلس ها و نقشه ها را ساده می کند. ساختار داده های جغرافیایی و توابع برای تعامل با فرمت های داده های جغرافیایی خارجی نمودار دیجیتالی جهان (DCW)، TIGER، TBASE و ETOPO5 گرد هم آمده اند تا ابزاری قدرتمند و انعطاف پذیر برای دسترسی به پایگاه های اطلاعاتی جغرافیایی موجود و آینده ارائه دهند. تجزیه و تحلیل کامل داده های جغرافیایی اغلب نیازمند روش های ریاضی است که در یک سیستم مختصات کروی عمل می کنند. بسته Mapping زیرمجموعه ای از توابع جغرافیایی، آماری و ناوبری را برای تجزیه و تحلیل داده های جغرافیایی فراهم می کند. توابع ناوبری طیف گسترده ای از گزینه ها را برای انجام وظایف سفر مانند تعیین موقعیت و برنامه ریزی مسیر ارائه می دهند.

34. بلوک سیستم قدرت

جعبه ابزار اکتساب داده و جعبه ابزار کنترل ابزار

جعبه ابزار اکتساب داده یک بسته توسعه ای مربوط به حوزه جمع آوری داده ها از طریق بلوک های متصل به گذرگاه داخلی رایانه، ژنراتورهای تابع، تحلیلگرهای طیف - به طور خلاصه، ابزارهایی است که به طور گسترده برای اهداف تحقیقاتی برای به دست آوردن داده ها استفاده می شود. آنها توسط یک پایگاه محاسباتی مناسب پشتیبانی می شوند. جعبه ابزار جدید کنترل ابزار به شما امکان می دهد ابزارها و دستگاه های سریال، کانال عمومی و VXI را متصل کنید.

36. جعبه ابزار پایگاه داده و جعبه ابزار واقعیت مجازی

جعبه ابزار پایگاه داده و جعبه ابزار واقعیت مجازی

سرعت جعبه ابزار پایگاه داده بیش از 100 برابر افزایش یافته است که به کمک آن اطلاعات با تعدادی از سیستم های مدیریت پایگاه داده از طریق درایورهای ODBC یا JDBC رد و بدل می شود:

  • دسترسی 95 یا 97 مایکروسافت؛

    Microsoft SQL Server 6.5 یا 7.0.

    Sybase Adaptive Server 11;

    Sybase (سابق Watcom) SQL Server Anywhere 5.0;

    IBM DB2 Universal 5.0

  • Computer Associates Ingres (همه نسخه ها).

همه داده ها از قبل به یک آرایه سلولی در MATLAB 6.0 تبدیل می شوند. در MATLAB 6.1 می توانید از آرایه ای از ساختارها نیز استفاده کنید. Visual Query Builder به شما این امکان را می دهد که پرس و جوهای پیچیده دلخواه را در گویش های SQL این پایگاه داده ها بنویسید، حتی بدون دانش SQL. بسیاری از پایگاه های داده ناهمگن را می توان در یک جلسه باز کرد.

جعبه ابزار واقعیت مجازی با MATLAB 6.1 در دسترس است. امکان انیمیشن و انیمیشن سه بعدی از جمله مدل های Simulink را فراهم می کند. زبان برنامه نویسی - VRML - زبان مدلسازی واقعیت مجازی. این انیمیشن را می توان از هر رایانه ای که دارای مرورگر VRML فعال است مشاهده کرد. تأیید می کند که ریاضیات علم روابط کمی و اشکال فضایی هر دنیای واقعی یا مجازی است.

37. لینک اکسل

به شما امکان می دهد از Microsoft Excel 97 به عنوان یک پردازنده MATLAB I / O استفاده کنید. برای انجام این کار، فقط فایل excllinkxla ارائه شده توسط Math Works را به عنوان یک تابع افزودنی در اکسل نصب کنید. در اکسل باید Service را تایپ کنید > Add-ons> Browse، فایل را در فهرست \ matlabrl2 \ toolbox \ exlink انتخاب کنید و آن را نصب کنید. اکنون هر بار که اکسل را راه اندازی می کنید، پنجره دستور MATLAB ظاهر می شود و کنترل پنل اکسل با دکمه های getmatrix، putmatrix، evalstring تکمیل می شود. برای بستن MATLAB از اکسل، کافیست = MLC1ose () را در هر سلول اکسل تایپ کنید. برای باز کردن آن پس از اجرای این دستور، باید یا بر روی یکی از دکمه‌های getmatrix، putmatrix، evalstring کلیک کنید یا در Excel Tools>Macro>Run mat تایپ کنید! آبی نی تی. با استفاده از ماوس در محدوده ای از سلول های اکسل، می توانید روی getmatrix کلیک کنید و نام متغیر متلب را تایپ کنید. ماتریس در اکسل ظاهر می شود. هنگامی که محدوده ای از سلول های اکسل را با اعداد پر کردید، می توانید آن محدوده را انتخاب کنید، روی putmatrix کلیک کنید و نام متغیر متلب را وارد کنید. بنابراین عملیات بصری است. برخلاف MATLAB، لینک اکسل به حروف بزرگ و کوچک حساس نیست: I و i، J و j برابر هستند.

فراخوانی نسخه ی نمایشی بسته های افزونه.

معرفی

متلب(مخفف انگلیسی."آزمایشگاه ماتریکس" ) - بسته ای از برنامه های کاربردی برای حل مسائل محاسبات فنی و زبان برنامه نویسی به همین نام مورد استفاده در این بسته. متلب ® بیش از 1000000 مهندس و دانشمند از آن استفاده کرده و بر روی اکثر سیستم عامل های مدرن اجرا می شود.

متلب به عنوان یک زبان برنامه نویسی توسعه یافت توسط کلیو مولردر پایان دهه 1970سالهایی که رئیس دانشگاه بود دانشکده کامپیوترعلوم در دانشگاه نیومکزیکو... هدف از توسعه این بود که به دانشجویان دانشکده فرصت استفاده از کتابخانه های نرم افزاری داده شود Linpackو EISPACKبدون نیاز به مطالعه فورترانا... به زودی این زبان جدید در میان سایر دانشگاه ها گسترش یافت و با علاقه فراوان توسط دانشمندانی که در زمینه ریاضیات کاربردی کار می کردند مورد استقبال قرار گرفت. هنوز هم می توانید نسخه را در اینترنت پیدا کنید سال 1982نوشته شده در فرترن، توزیع شده توسط متن باز... مهندس جان لیتل ( انگلیسی جان ن. (جک) مقدار کمی) با این زبان در بازدید Cleve Mowler از دانشگاه استنفورد v سال 1983... او که متوجه شد زبان جدید پتانسیل تجاری بالایی دارد، با کلیو مولر و استیو بانگرت همکاری کرد. انگلیسی استیو بانگرت). آنها با هم MATLAB را در آن بازنویسی کردند سیو در 1984 شرکت MathWorksبرای توسعه بیشتر این کتابخانه ها که به زبان C بازنویسی شده اند، مدت هاست با نام JACKPAC شناخته می شوند. متلب که در اصل برای طراحی سیستم کنترل (تخصص اصلی جان لیتل) در نظر گرفته شده بود، به سرعت در بسیاری از زمینه های علمی و مهندسی دیگر محبوبیت پیدا کرد. همچنین به طور گسترده در آموزش، به ویژه برای آموزش استفاده می شد جبر خطیو روشهای عددی.

MATLAB یک زبان برنامه نویسی تفسیر شده سطح بالا است که شامل ساختارهای داده مبتنی بر ماتریس، طیف گسترده ای از توابع، یک محیط توسعه یکپارچه، قابلیت های شی گرا، و رابط های برنامه های نوشته شده در سایر زبان های برنامه نویسی است.

دو نوع برنامه نوشته شده در متلب وجود دارد - توابع و اسکریپت. توابع دارای آرگومان های ورودی و خروجی و همچنین فضای کاری مخصوص به خود برای ذخیره نتایج و متغیرهای محاسبات میانی هستند. اسکریپت ها یک فضای کاری مشترک دارند. هم اسکریپت ها و هم توابع در کد ماشین کامپایل نمی شوند و به عنوان فایل های متنی ذخیره می شوند.

ویژگی اصلی زبان متلب، امکانات گسترده آن برای کار با ماتریس است که سازندگان این زبان با شعار "در برداری فکر کن" بیان کرده اند.

متلب تعداد زیادی (چند صد) توابع را برای تجزیه و تحلیل داده ها در اختیار کاربر قرار می دهد که تقریباً تمام زمینه های ریاضیات را پوشش می دهد، به ویژه:

    ماتریس ها و جبر خطی - جبر ماتریسی، معادلات خطی، مقادیر ویژه و بردارها، تکینگی ها، فاکتورسازی ماتریس و غیره.

    چند جمله ای ها و درون یابی چند جمله ای-ریشه، عملیات روی چند جمله ای ها و مشتق آنها، درون یابی منحنی و برون یابی، و غیره.

    آمار ریاضی و تجزیه و تحلیل داده ها - توابع آماری، رگرسیون آماری، فیلتر دیجیتال، FFT، و غیره.

    پردازش داده مجموعه ای از توابع ویژه است، از جمله رسم، بهینه سازی، جستجوی صفر، ادغام عددی (در مربعات) و غیره.

    معادلات دیفرانسیل - حل معادلات دیفرانسیل و دیفرانسیل - جبری، معادلات دیفرانسیل با تاخیر، معادلات با محدودیت، معادلات دیفرانسیل جزئی و غیره.

    ماتریس های پراکنده یک کلاس داده ویژه MATLAB هستند که در برنامه های تخصصی مورد استفاده قرار می گیرند.

    Integer Arithmetic - عملیات حسابی عدد صحیح را در محیط MATLAB انجام می دهد.

1. اطلاعات اولیه

1.1. محیط کاری MatLab

برای شروع برنامه روی آیکون آن دوبار کلیک کنید. محیط کاری که در شکل نشان داده شده است در مقابل شما باز می شود.

محیط کاری MatLab 6.x شامل عناصر زیر است:

    یک نوار ابزار با دکمه ها و یک لیست کشویی.

    پنجره زبانه دار سکوی پرتابو فضای کاریکه از طریق آن می توانید به ماژول های مختلف جعبه ابزار و محتویات فضای کاری دسترسی داشته باشید.

    پنجره زبانه دار تاریخچه فرمانو پوشه کنونی، برای مشاهده و فراخوانی دستورات وارد شده قبلی و همچنین برای تنظیم دایرکتوری فعلی در نظر گرفته شده است.

    پنجره فرمان، که حاوی دستور "و یک مکان نما عمودی چشمک زن است.

    نوار وضعیت

اگر برخی از پنجره های نشان داده شده در شکل در محیط کاری MatLab 6.x وجود ندارد، به منو بروید. چشم اندازموارد مناسب را انتخاب کنید: پنجره فرمان, تاریخچه فرمان, پوشه کنونی, فضای کاری, سکوی پرتاب.

دستورات باید در پنجره فرمان تایپ شوند. برای نشان دادن خط فرمان، نیازی به تایپ "شخصیت" ندارید. استفاده از نوارهای پیمایش یا کلیدها برای مشاهده محل کار راحت است. صفحه اصلی,پایان، برای حرکت به چپ یا راست و PageUp,صفحه پایینبالا یا پایین رفتن اگر به طور ناگهانی، پس از حرکت در منطقه کاری پنجره فرمان، خط فرمان با مکان نما چشمک زن ناپدید شد، کافی است فشار دهید. وارد.

مهم است که به یاد داشته باشید که تایپ هر دستور یا عبارتی باید با کلیک بر روی آن پایان یابد وارد، برای اینکه MatLab این دستور را اجرا کند یا یک عبارت را محاسبه کند.

1.2. ساده ترین محاسبات

1 + 2 را در خط فرمان تایپ کرده و فشار دهید وارد... در نتیجه، موارد زیر در پنجره دستور MatLab نمایش داده می شود:

برنج. 2 نمایش گرافیکی تجزیه و تحلیل مؤلفه اصلی

MatLab چه کرد؟ ابتدا مجموع 1 + 2 را محاسبه کرد، سپس نتیجه را روی متغیر ویژه نوشت و مقدار آن را برابر با 3 در پنجره فرمان چاپ کرد. در زیر پاسخ یک خط فرمان با مکان نما چشمک زن وجود دارد که نشان می دهد MatLab برای محاسبات بیشتر آماده است. می توانید عبارات جدید را در خط فرمان تایپ کنید و مقادیر آنها را پیدا کنید. اگر نیاز به ادامه کار با عبارت قبلی دارید، به عنوان مثال، برای محاسبه (1 + 2) /4.5، ساده ترین راه استفاده از نتیجه موجود است که در متغیر متغیرها ذخیره می شود. Typeans / 4.5 (نقطه اعشاری استفاده می شود) و فشار دهید وارد، معلوم می شود

برنج. 3 نمایش گرافیکی تجزیه و تحلیل مؤلفه اصلی

1.3. دستورات اکو

هر دستوری که در MatLab اجرا می‌شود، تکرار می‌شود. در مثال بالا، این پاسخ ans = 0.6667 است. اغلب اکو درک کار برنامه را دشوار می کند و سپس می توان آن را خاموش کرد. برای انجام این کار، دستور باید با نقطه ویرگول به پایان برسد. برای مثال

برنج. 4 مثالی از وارد کردن تابع ScoresPCA

1.4. حفظ محیط کار. فایل های مات

ساده ترین راه برای ذخیره همه مقادیر متغیر استفاده در منو است فایلپاراگراف ذخیره Workspase به عنوان. در همان زمان، یک کادر محاوره ای ظاهر می شود. ذخیره متغیرهای Workspase، که در آن باید دایرکتوری و نام فایل را مشخص کنید. به طور پیش فرض، پیشنهاد می شود فایل را در زیر شاخه کاری دایرکتوری اصلی MatLab ذخیره کنید. این برنامه نتایج کار را در یک فایل با پسوند mat ذخیره می کند. اکنون می توانید MatLab را ببندید. در جلسه بعد، برای بازیابی مقادیر متغیرها، این فایل ذخیره شده را با استفاده از آیتم فرعی باز کنید. باز کنمنو فایل... اکنون تمام متغیرهای تعریف شده در جلسه قبل دوباره در دسترس هستند. آنها را می توان در دستورات تازه وارد شده استفاده کرد.

سخنرانی 3. برنامه نویسی در محیط متلب.

1. M-فایل. ................................................ ................................................ ................................................

1.1. کار در ویرایشگر M-فایل ها ................................................ ................................................ ...

1.2. انواع فایل های M فایل برنامه. ................................................ ......................................

1.3. توابع فایل ................................................ ................................................ ................................

توابع فایل با یک آرگومان ورودی......................................................................................

توابع فایل با چندین آرگومان ورودی.......................................................................

توابع فایل با چندین آرگومان خروجی....................................................................

1.4. توابع فرعی ................................................ ................................................ ................................

2. ساختارهای زبان برنامه نویسی را کنترل کنید....................................................................

2.1. عملگرهای حلقه.............................................................................................................................

برای حلقه. ................................................ ................................................ ................................................

در حالی که حلقه. ................................................ ................................................ ......................................

2.2. اپراتورهای شعبه....................................................................................................................

اپراتور مشروطاگر ................................................ ................................................ ......................

بیانیه سوئیچ. ................................................ ................................................ ................................

2.3. عبارات استراحت، ادامه و بازگشت. ................................................ ................................

2.4. در مورد تکنیک های برنامه نویسی منطقی در متلب.......................................................

بسیاری از سیستم های ریاضی با این فرض ایجاد شدند که کاربر مشکلات خود را با برنامه نویسی کم یا بدون برنامه حل می کند. با این حال، از همان ابتدا مشخص بود که چنین مسیری دارای اشکالاتی است و در مجموع دارای اشکال است. بسیاری از کارها به ابزارهای برنامه نویسی پیشرفته نیاز دارند که نوشتن الگوریتم های آنها را ساده می کند و گاهی اوقات روش های جدیدی را برای ایجاد الگوریتم باز می کند.

از یک طرف، MATLAB شامل تعداد زیادی از اپراتورها و توابع داخلی (نزدیک به هزار) است که با موفقیت بسیاری از مشکلات عملی را حل می کند، که قبلاً لازم بود برنامه های نسبتاً پیچیده ای برای آنها تهیه شود. به عنوان مثال، اینها توابعی برای معکوس کردن یا جابجایی ماتریس ها، محاسبه مقادیر مشتق یا انتگرال، و غیره هستند. دائما در حال افزایش است. اما، از سوی دیگر، سیستم متلب از بدو پیدایش به عنوان یک زبان برنامه نویسی قدرتمند ریاضی محور برای محاسبات فنی ایجاد شده است. سطح بالا.و بسیاری به درستی این را به عنوان یک مزیت مهم سیستم در نظر گرفتند که نشان دهنده امکان استفاده از آن برای حل پیچیده ترین مسائل ریاضی جدید است.

متلب دارای یک زبان ورودی است که شبیه بیسیک (با لمس فرترن و پاسکال) است. نوشتن برنامه ها در سیستم سنتی است و بنابراین برای اکثر کاربران کامپیوتر آشناست. علاوه بر این، این سیستم امکان ویرایش برنامه ها را با استفاده از هر ویرایشگر متنی آشنا برای کاربر فراهم می کند. همچنین دارای ویرایشگر مخصوص به خود با دیباگر است. زبان سیستم MATLAB از نظر برنامه نویسی محاسبات ریاضی بسیار غنی تر از هر زبان برنامه نویسی سطح بالا جهانی است. تقریباً تمام ابزارهای برنامه نویسی شناخته شده از جمله برنامه نویسی شی گرا و بصری را پیاده سازی می کند. این به برنامه نویسان با تجربه فرصت های گسترده ای برای ابراز وجود می دهد.

1. M-فایل.

V در سخنرانی‌های قبلی، نمونه‌های نسبتاً ساده‌ای را بررسی کردیم که برای آنها باید چند دستور را در خط فرمان تایپ کنید. برای کارهای پیچیده تر، تعداد دستورات افزایش می یابد و کار در خط فرمان غیرمولد می شود. با استفاده از تاریخچه فرمان،

صرفه جویی در متغیرهای محیط کار یا نگه داشتن دفترچه خاطرات با دفترچه خاطرات ناچیز است

افزایش بهره وری کار یک راه حل موثر این است که الگوریتم های خود را در قالب برنامه هایی (M-file) طراحی کنید که می توانند از محیط کاری یا از ویرایشگر اجرا شوند. ویرایشگر داخلی M-file در متلب به شما این امکان را می دهد که نه تنها متن برنامه را تایپ کرده و آن را به صورت کامل یا جزئی اجرا کنید، بلکه الگوریتم را نیز اشکال زدایی کنید. طبقه بندی دقیق فایل های M در زیر آورده شده است.

1.1. در ویرایشگر M-files کار کنید.

یک ویرایشگر چند پنجره ای ویژه برای آماده سازی، ویرایش و اشکال زدایی فایل های m استفاده می شود. این برنامه مانند یک برنامه معمولی ویندوز طراحی شده است. ویرایشگر را می توان با دستور ویرایش از خط فرمان یا با دستور منوی اصلی File | جدید | M-فایل. پس از آن، در پنجره ویرایشگر، می توانید فایل خود را ایجاد کنید، از ابزارهایی برای اشکال زدایی و راه اندازی آن استفاده کنید. قبل از اجرای فایل، باید با دستور File | روی دیسک نوشته شود همانطور که در منوی ویرایشگر ذخیره کنید.

شکل 1 پنجره ویرایشگر / دیباگر را نشان می دهد. متن آماده شده فایل (این ساده ترین و اولین برنامه ما در زبان برنامه نویسی متلب است) را می توان روی دیسک نوشت. برای این کار از دستور Save As استفاده کنید که از یک پنجره استاندارد ویندوز برای نوشتن فایلی با نام مشخص شده استفاده می کند. توجه داشته باشید که نام فایل M باید منحصر به فرد باشد و نام فایل مورد نیاز مانند نام متغیرهای محیطی MATLAB است. پس از اینکه فایل روی دیسک نوشته شد، می توانید دستور Run را از نوار ابزار یا منوی Debug اجرا کنید یا به سادگی کلیک کنید. .، به منظور اجرای فایل m.

در نگاه اول، ممکن است به نظر برسد که ویرایشگر / دیباگر فقط یک پیوند اضافی در زنجیره کاربر-MATLAB است. در واقع، متن فایل می تواند وارد پنجره سیستم شود و همان نتیجه را بگیرد. با این حال، در واقعیت، ویرایشگر / دیباگر نقش مهمی ایفا می کند. این به شما امکان می دهد یک فایل m (برنامه) بدون آن "پوسته" متعددی که کار را در حالت فرمان همراهی می کند ایجاد کنید. متن چنین فایلی تحت بررسی کامل نحوی قرار می گیرد که طی آن بسیاری از خطاهای کاربر شناسایی و حذف می شوند. بنابراین، ویرایشگر کنترل نحوی فایل را فراهم می کند.

ویرایشگر ابزارهای مهم دیگری برای اشکال زدایی دارد - به شما امکان می دهد برچسب های خاصی را در متن فایل تنظیم کنید که به آنها نقاط شکست می گویند. با رسیدن به آنها، محاسبات متوقف می شوند و کاربر می تواند نتایج میانی محاسبات را ارزیابی کند (مثلاً مقادیر متغیرها)، صحت حلقه ها و غیره را بررسی کند. در نهایت، ویرایشگر به شما اجازه می دهد بنویسید. یک فایل با فرمت متنی و کار خود را در فایل سیستم متلب جاودانه کنید.

برای راحتی کار با ویرایشگر / دیباگر، خطوط برنامه در آن به ترتیب شماره گذاری می شوند. ویرایشگر چند پنجره ای است. پنجره هر برنامه به صورت تب طراحی شده است. ویرایشگر دیباگر، مشاهده مقادیر متغیرها را آسان می کند. برای انجام این کار، فقط نشانگر ماوس را روی نام متغیر ببرید و آن را نگه دارید - یک راهنمای ابزار با نام متغیر و مقدار آن ظاهر می شود.

یکی از ویژگی های بسیار راحت ویرایشگر M-file این است اجرای برخی از دستوراتبرای انجام این کار، از دستور Evaluate Selection از منوی زمینه یا منوی اصلی متن یا فقط از کلید تابع استفاده کنید. که به شما امکان می دهد متن برنامه انتخاب شده را اجرا کنید.

برنج. 1. پنجره ویرایشگر M-files.

1.2. انواع فایل های M فایل برنامه.

دو نوع M-Files در MATLAB وجود دارد: Script M-Files که حاوی یک سری دستورات است و Function M-Files که توابع تعریف شده توسط کاربر را توصیف می کند.

برنامه های فایل ساده ترین نوع فایل های M هستند. آنها هیچ آرگومان ورودی یا خروجی ندارند و بر روی متغیرهایی که در محیط تولید وجود دارند کار می کنند یا می توانند متغیرهای جدیدی ایجاد کنند. فایل برنامه mydemo را با خواندن قسمت قبل نوشتید. تمامی متغیرهای اعلام شده در فایل برنامه پس از اجرای آن در محیط تولید در دسترس می شوند. فایل برنامه mydemo نشان داده شده در لیست در شکل 1 را اجرا کنید. به پنجره Workspace بروید و مطمئن شوید که همه متغیرهای وارد شده در فایل M در فضای کاری ظاهر می شوند. تمامی متغیرهای ایجاد شده در حین اجرای M-file پس از اتمام آن در محیط کاری باقی می مانند و می توان از آنها در سایر برنامه های فایل و در دستورات اجرا شده از خط فرمان استفاده کرد.

برنامه فایل را می توان به دو روش راه اندازی کرد.

1. از ویرایشگر M-file همانطور که در بالا توضیح داده شد.

2. از خط فرمان یا دیگریفایل-برنامه، در این مورد از نام فایل M (بدون پسوند) به عنوان دستور استفاده می شود. استفاده از روش دوم بسیار راحت تر است، به خصوص اگر فایل برنامه ایجاد شده بعداً به طور مکرر مورد استفاده قرار گیرد. در واقع فایل M تولید شده به دستوری تبدیل می شود که متلب آن را درک می کند.

تمام پنجره های گرافیکی را ببندید و mydemo را در خط فرمان تایپ کنید، یک پنجره گرافیکی مربوط به دستورات موجود در فایل برنامه mydemo.m ظاهر می شود. پس از وارد کردن دستور mydemo متلب اقدامات زیر را انجام می دهد.

1. بررسی می کند که آیا دستور وارد شده یک نام است یا خیرهر یک از متغیرهای تعریف شده

v محیط کار. اگر متغیری وارد شود، مقدار آن نمایش داده می شود.

2. اگر یک غیر متغیر وارد شود، متلب دستور وارد شده را در میان توابع داخلی جستجو می کند. اگر معلوم شد که دستور یک تابع داخلی است، اجرا می شود.

3. اگر یک تابع غیر متغیر و غیر داخلی وارد شود، متلب شروع به جستجو می کند. M-فایل با نام دستور و پسوند m. جستجو با شروع می شود پوشه کنونی(پوشه کنونی)؛ اگر یک فایل M در آن یافت نشد، متلب دایرکتوری های مشخص شده در مسیر جستجو (مسیر) را جستجو می کند. (برای تنظیم دایرکتوری فعلی، می توانید از پنجره انتخاب با همان نام در نوار ابزار یا دستور cd استفاده کنید. مسیرهای جستجو با استفاده از

با استفاده از دستور Set Path در منوی File یا با استفاده از دستور addpath).

اگر هیچ یک از اقدامات بالا منجر به موفقیت نشد، مثلاً اگر اشتباه کنید، پیامی در پنجره فرمان نمایش داده می شود.

دنباله جستجوی متلب نشان می دهد که نامگذاری صحیح فایل برنامه خود هنگام ذخیره آن در یک فایل M بسیار مهم است. اول اینکه نام آن نباید با نام توابع موجود در متلب یکی باشد. با استفاده از تابع exist می توانید متوجه شوید که نامی گرفته شده است یا خیر.

ثانیاً، نام فایل نباید با یک رقم، علائم "+" یا "-" یا در یک کلمه با آن دسته از کاراکترهایی شروع شود که می تواند توسط MATLAB در هنگام وارد کردن عبارت به عنوان خطا تفسیر شود. به عنوان مثال، اگر فایل M را با فایل برنامه 5prog.m نامگذاری کنید، زمانی که آن را از منوی ویرایشگر یا توسط پیغام خطا دریافت کنید این تعجب آور نیست زیرا متلب از شما انتظار دارد که 5 + prog (یا 5، prog) برای ارزیابی عبارت حسابی با prog داشته باشید (یا 5 را به عنوان اولین عنصر به بردار ردیف prog اضافه کنید). بنابراین، نام صحیح prog5.m (یا حداقل p5rog.m) خواهد بود، اما فقط با یک حرف شروع می شود.

لطفاً توجه داشته باشید که اگر دستورات برجسته (همه دستورات را می توان برجسته کرد) یک فایل M با نام نادرست با استفاده از ، پس هیچ خطایی وجود نخواهد داشت. در واقع اجرای متوالی دستورات انجام می شود که تفاوتی با فراخوانی آنها از خط فرمان و عملکرد یک برنامه فایل ندارد.

یک اشتباه دیگر هنگام تعیین نام یک فایل-برنامه بسیار رایج است که در نگاه اول پیامدهای غیرقابل توضیحی دارد: برنامه فقط یک بار راه اندازی می شود. راه اندازی مجدد برنامه را اجرا نمی کند. بیایید با استفاده از مثال برنامه فایل از لیست 5.1 که در فایل mydemo.m ذخیره کردید، به این وضعیت نگاه کنیم. نام فایل را به x.m تغییر دهید، سپس تمام متغیرهای فضای کاری را از پنجره مرورگر متغیرهای فضای کاری یا از خط فرمان حذف کنید:

>> پاک کردن همه

فایل برنامه را مثلاً از ویرایشگر با فشار دادن اجرا کنید ... یک پنجره گرافیکی با دو نمودار ظاهر می شود و نوید خوبی برای یک ترفند نیست. حالا پنجره گرافیک را ببندید و دوباره برنامه را اجرا کنید. پنجره گرافیکی دیگر ایجاد نمی شود، اما مقادیر آرایه x مطابق با پاراگراف اول الگوریتم جستجوی متلب بالا در پنجره فرمان نمایش داده می شود. در انتخاب نام فایل-برنامه باید این شرایط را در نظر گرفت. یک سوال به همان اندازه مهم مربوط به سومین نقطه الگوریتم جستجوی متلب است - فهرست فعلی و مسیرهای جستجو. به طور معمول، M-فایل های خود شما در دایرکتوری های کاربر ذخیره می شوند. برای اینکه MATLAB آنها را پیدا کند، باید مسیرهایی را تعیین کنید که مکان فایل های M را نشان می دهد.

1.3. توابع فایل

برنامه های فایل فوق دنباله ای از دستورات MATLAB هستند و هیچ آرگومان ورودی و خروجی ندارند. برای حل مشکلات محاسباتی و نوشتن برنامه های کاربردی خود در MATLAB، اغلب باید توابع فایلی را برنامه ریزی کنید که اقدامات لازم را با آرگومان های ورودی انجام دهند و نتیجه را در آرگومان های خروجی برگردانند. تعداد آرگومان‌های ورودی و خروجی به مشکلی که حل می‌شود بستگی دارد - فقط یک آرگومان ورودی و یک خروجی، چندین آرگومان از هر دو، یا فقط آرگومان ورودی وجود دارد.

ممکن است هیچ آرگومان ورودی و خروجی وجود نداشته باشد. این بخش شامل چند مثال ساده است تا به شما در درک نحوه کار با توابع فایل کمک کند. توابع فایل، مانند برنامه های فایل، در ویرایشگر M-file ایجاد می شوند.

توابع فایل با یک آرگومان ورودی.

فرض کنید اغلب باید از یک مقدار تابع در محاسبات استفاده کنید:

- xx 2

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

تابع f = myfun (x)

کلمه تابع در خط اول مشخص می کند که این فایل حاوی یک فایل تابع است. خط اول است هدر تابع،که حاوی نام تابع و لیست آرگومان های ورودی و خروجی است. آرگومان های ورودی بعد از نام تابع در پرانتز نوشته می شوند. در مثال ما، تنها یک آرگومان ورودی وجود دارد، x. آرگومان خروجی f در سمت چپ علامت مساوی در هدر تابع ظاهر می شود. هنگام انتخاب نام تابع فایل، باید مراقب بود که از تضاد با نام های اشغال شده در متلب جلوگیری شود. ما در مورد سوال مشابهی در بالا بحث کردیم: چگونه یک فایل برنامه را در یک فایل با نام منحصر به فرد ذخیره کنیم. می‌توانید از همین رویکرد، بر اساس فراخوانی تابع exist، برای تعیین نام تابع فایل استفاده کنید.

بعد از هدر، بدنه تابع فایل قرار می گیرد - یک یا چند عملگر (می تواند تعداد زیادی از آنها وجود داشته باشد) که الگوریتمی را برای به دست آوردن مقدار متغیرهای خروجی از متغیرهای ورودی پیاده سازی می کنند. در مثال ما، الگوریتم ساده است - برای یک x داده شده، یک عبارت حسابی محاسبه می شود و نتیجه به f نوشته می شود.

اکنون باید فایل را در دایرکتوری کاری خود یا مکان دیگری که MATLAB شناخته شده است ذخیره کنید. وقتی آیتم های Save یا Save as ... را از منوی File انتخاب می کنید، نام فایل پیش فرض با نام تابع myfun یکسان است. شما باید فایل تابع را با این نام پیشنهادی ذخیره کنید. اکنون تابع ایجاد شده را می توان به همان روشی که sin داخلی، cos و موارد دیگر، به عنوان مثال، از خط فرمان استفاده کرد:

>> y = myfun (1.3) y =

هنگام ایجاد تابع فایل myfun، با پایان دادن به دستور انتساب با یک نقطه ویرگول، خروجی f را در پنجره فرمان حذف کردیم. اگر این کار انجام نشد، هنگام فراخوانی y = myfun (1.3) نمایش داده می شود. به عنوان یک قاعده، بهتر است از خروجی نتایج محاسبات میانی به پنجره فرمان داخل تابع فایل خودداری کنید.

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

>> x =;

>> y = myfun (x)

??? خطا در استفاده از ==> ^ ماتریس باید مربع باشد.

خطا در ==> C: \ MATLAB6p5 \ work \ myfun.m

در خط 2 ==> f = exp (-x) * sqrt ((x ^ 2 + 1) / (x ^ 4 + 0.1));

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

تابع f = myfun (x)

f = exp (-x). * sqrt ((x. ^ 2 + 1) ./ (x. ^ 4 + 0.1));

حالا آرگومان تابع myfun می تواند یک عدد یا یک بردار یا یک ماتریس از مقادیر باشد، به عنوان مثال:

>> x =;

>> y = myfun (x)

متغیر y که نتیجه فراخوانی تابع myfun در آن نوشته شده است، به طور خودکار به بردار اندازه مورد نیاز تبدیل می شود.

بیایید به مثالی از استفاده از توابع نگاه کنیم. ما تابع myfun را با استفاده از یک برنامه فایل یا از خط فرمان روی یک قطعه رسم می کنیم:

>> x = 0: 0.5: 4;

>> y = myfun (x)؛

>> نمودار (x, y)

حل مسائل محاسباتی با استفاده از MATLAB مستلزم این است که بتوانید توابع فایلی را که مطابق با وظیفه در دست هستند (مثلاً سمت راست یک سیستم معادلات دیفرانسیل یا یک انتگرال) برنامه ریزی کنید.

اکنون فقط یک مثال ساده از اینکه چگونه استفاده از توابع فایل، تجسم توابع ریاضی را آسان‌تر می‌کند، بررسی می‌کنیم. ما به تازگی طرحی را با استفاده از طرح ترسیم کرده ایم. توجه داشته باشید که برای محاسبه بردار y لازم نیست myfun را فراخوانی کنید - می توانید بلافاصله یک عبارت برای آن بنویسید و سپس یک جفت ورودی x و y را مشخص کنید. تابع فایل myfun در اختیار ما به ما این امکان را می دهد که تابع ویژه fplot را فراخوانی کنیم، که باید نام تابع فایل ما (به صورت آپاستروف) یا اشاره گر به آن (با عملگر @ در جلوی نام تابع) و مرزها مشخص شود. قطعه برای رسم نمودار (در بردار دو عنصر)

>> fplot ("myfun")

>> fplot (@myfun،)

الگوریتم تابع fplot باید اضافه شود تا به طور خودکار مرحله آرگومان را انتخاب کند و آن را در مناطق تغییر سریع تابع مورد مطالعه کاهش دهد که به کاربر نمایش خوبی از داده ها می دهد.

توابع فایل با آرگومان های ورودی متعدد.

نوشتن توابع فایل با چندین آرگومان ورودی عملاً مانند یک آرگومان است. همه آرگومان های ورودی در یک لیست جدا شده با کاما قرار می گیرند. مثال زیر حاوی یک تابع فایل است که طول بردار شعاع یک نقطه را به صورت سه بعدی محاسبه می کند.

فضاهای x 2 + y 2 + z 2.

تابع r = شعاع 3 (x، y، z) r = sqrt (x. ^ 2 + y. ^ 2 + z. ^ 2);

>> R = شعاع 3 (1، 1، 1)

علاوه بر توابع با آرگومان های متعدد، متلب به شما اجازه می دهد تا توابعی ایجاد کنید که چندین مقدار را برمی گرداند، یعنی دارای چندین آرگومان خروجی باشد.

توابع فایل با آرگومان های خروجی متعدد.

توابع فایل با آرگومان های خروجی متعدد برای ارزیابی توابعی که چندین مقدار را برمی گرداند مفید هستند (در ریاضیات به آنها توابع برداری می گویند). آرگومان‌های خروجی به فهرست آرگومان‌های خروجی اضافه می‌شوند که با کاما از هم جدا می‌شوند و خود فهرست در براکت‌های مربع قرار می‌گیرد. مثال زیر یک تابع فایل hms را برای تبدیل زمان مشخص شده بر حسب ثانیه به ساعت، دقیقه و ثانیه ارائه می دهد:

تابع = hms (ثانیه) ساعت = طبقه (ثانیه / 3600)؛

هنگام فراخوانی توابع فایل با چندین آرگومان خروجی، نتیجه باید در بردار با طول مناسب نوشته شود:

>> = hms (10000) H =

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

>> hms (10000) ans =

اگر فهرست آرگومان‌های خروجی خالی باشد، به‌عنوان مثال، هدر به این صورت است: تابع myfun (a, b) یا function = myfun (a, b)

سپس تابع فایل هیچ مقداری را بر نمی گرداند. این توابع گاهی اوقات نیز مفید هستند.

یکی دیگر از ویژگی های مفید توابع متلب، امکان دریافت اطلاعات در مورد آنها با استفاده از دستور help، به عنوان مثال، help fplot است. توابع فایل سفارشی را نیز می توان با این ویژگی با استفاده از خطوط نظر ارائه کرد. تمام خطوط نظر بعد از هدر و قبل از بدنه تابع یا یک خط خالی در پنجره فرمان با دستور help نمایش داده می شود. به عنوان مثال، برای عملکرد ما، می توانید یک اشاره ایجاد کنید:

تابع = hms (ثانیه) % hms - تبدیل ثانیه به ساعت، دقیقه و ثانیه

% تابع hms برای ترجمه ثانیه است

% در ساعت دقیقه و ثانیه

% = hms (ثانیه)

ساعت = طبقه (ثانیه / 3600)؛

دقیقه = طبقه ((ثانیه - ساعت * 3600) / 60)؛ ثانیه = ثانیه - ساعت * 3600 - دقیقه * 60;

1.4. توابع فرعی

بیایید نوع دیگری از توابع - تابع های فرعی را در نظر بگیریم. استفاده از توابع فرعی مبتنی بر جداسازی بخشی از الگوریتم به یک تابع مستقل است که متن آن در همان فایل تابع اصلی موجود است. بیایید به یک مثال نگاه کنیم.

عملکرد ساده

% تابع پایه a = 2 * pi;

fl = f (1.1، 2.1) f2 = f (3.1، 4.2) -a f3 = f (2.8-، 0.7) + a

تابع z = f (x, y)% تابع فرعی

z = x ^ 3 - 2 * y ^ 3 - x * y + 9;

اولین تابع ساده این است عملکرد اصلیدر simple.m، این دستورات آن هستند که در صورتی اجرا می شوند که کاربر simple را فراخوانی کند، مثلاً از خط فرمان. هر فراخوانی به تابع فرعی f در تابع اصلی منجر به انتقال به عبارات قرار داده شده در تابع فرعی و سپس بازگشت به تابع اصلی می شود.

یک فایل تابع می تواند شامل یک یا چند تابع فرعی با پارامترهای ورودی و خروجی خود باشد، اما تنها یک تابع اصلی می تواند وجود داشته باشد. عنوان یک تابع فرعی جدید نیز نشانه پایان کار قبلی است. تابع اصلی تنها با استفاده از پارامترهای ورودی و خروجی با توابع فرعی ارتباط برقرار می کند. متغیرهای تعریف شده در توابع فرعی و در تابع اصلی محلی هستند، آنها در تابع خود در دسترس هستند.

یکی از کاربردهای احتمالی متغیرها، که برای همه توابع موجود در یک فایل M مشترک است، اعلام این متغیرها در ابتدای تابع اصلی و تابع فرعی به عنوان جهانی، با استفاده از global با فهرستی از نام متغیرها با فاصله محدود است.

2. ساختارهای زبان برنامه نویسی را کنترل کنید.

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

2.1. عملگرهای حلقه

اقدامات مشابه و تکراری با استفاده از دستورات حلقه for و while انجام می شود. حلقه for برای انجام تعداد مشخصی از اقدامات تکراری طراحی شده است، مدتی - برای اقداماتی که تعداد آنها از قبل مشخص نیست، اما شرط ادامه حلقه مشخص است.

برای حلقه.

استفاده از for به صورت زیر انجام می شود:

برای شمارش = شروع: مرحله: نهایی

دستورات متلب

در اینجا count متغیر حلقه است، start مقدار اولیه آن است، نهایی مقدار نهایی است، asste مرحله ای است که با هر ورود بعدی به حلقه تعداد افزایش می یابد. به محض اینکه تعداد از نهایی بیشتر شود، حلقه به پایان می رسد. متغیر حلقه می تواند نه تنها مقادیر صحیح، بلکه مقادیر واقعی هر علامت را نیز بگیرد. بیایید مثالی از استفاده از حلقه for ارائه دهیم. اجازه دهید لازم باشد نمودارهای یک خانواده منحنی برای x نمایش داده شود که

با تابع y (x, a) = e - ax sinx، بسته به پارامتر a، برای مقادیر پارامتر از -0.1 تا

0.1 با گام 0.02. البته می توانید y (x, a) را به صورت متوالی محاسبه کنید و نمودارهای آن را برای مقادیر مختلف a رسم کنید، اما استفاده از حلقه for بسیار راحت تر است. متن فایل برنامه:

figure% یک پنجره گرافیکی ایجاد می کند

x = 0: pi / 30: 2 * pi; % بردار مقادیر آرگومان را محاسبه کنید

% تکرار بر روی مقادیر پارامتر در یک حلقهبرای = -0.1: 0.02: 0.1

% محاسبه بردار مقادیر تابع برای مقدار فعلی ...

پارامتر

y = exp (-a * x). * sin (x); % اضافه کردن نمودار تابع نگه دارید

نمودار (x,y) پایان

در نتیجه اجرای این فایل-برنامه، یک پنجره گرافیکی ظاهر می شود که در شکل 1 نشان داده شده است. 2 که شامل خانواده منحنی های مورد نیاز است.

برنج. 2. خانواده ای از منحنی ها.

حلقه‌های For را می‌توان درون یکدیگر قرار داد، در حالی که متغیرهای حلقه‌های تودرتو باید متفاوت باشند. حلقه های تو در تو برای پر کردن ماتریس ها مفید هستند. نمونه ای از ایجاد ماتریس هیلبرت:

a = صفر (n)؛ برای i = 1: n

برای j = 1: n

a (i، j) = 1 / (i + j-1)؛

برای پایان دادن به این بخش، به یک ویژگی دیگر از حلقه for اشاره می کنیم، که به همراه توانایی تنظیم یک شمارنده حلقه واقعی با یک گام ثابت، حلقه for را کاملاً جهانی می کند. آرایه ای از مقادیر را می توان به عنوان مقادیر برای یک متغیر حلقه استفاده کرد:

برای شمارش = A

دستورات متلب

اگر A یک بردار ردیف باشد، پس از هر بار وارد شدن حلقه، count به صورت متوالی مقدار عناصر آن را می گیرد. در مورد یک آرایه دو بعدی A، در مرحله i-ام حلقه، شمارش شامل یک ستون A (:، i) است. البته اگر A یک بردار ستونی باشد، حلقه فقط یک بار با تعداد A اجرا می شود.

حلقه for برای تعداد محدودی از چیزها مفید است. الگوریتم‌هایی با تعداد تکرار نامشخص وجود دارند که می‌توانند در یک حلقه while انعطاف‌پذیرتر پیاده‌سازی شوند.

در حالی که حلقه.

حلقه while در مواردی که تعداد تکرارها از قبل ناشناخته است و با انجام یک شرط خاص تعیین می شود، برای سازماندهی تکرارهای همان نوع اعمال عمل می کند. نمونه ای از بسط سری گناه (x) را در نظر بگیرید:

x 2k + 1

S (x) = ∑ (- 1)

(2k + 1)!

k = 0

البته امکان جمع آوری تا بی نهایت وجود نخواهد داشت، اما می توانید مقدار را با دقت معین مثلاً 10-10 جمع آوری کنید. بدیهی است که تعداد اعضای سری در این مورد مشخص نیست، بنابراین استفاده از عملگر for غیرممکن است. راه حل استفاده از حلقه while است که تا زمانی که شرط حلقه اجرا می شود اجرا می شود:

شرط تکرار حلقه while

دستورات متلب

V در این مثال شرط تکرار چرخه این است که مدول عبارت جاری باشد

x 2 k + 1 (2k + 1)! بیش از 10-10. متن تابع فایل mysin که مجموع یک سری را بر اساس محاسبه می کند

رابطه عود:

k - 1

2k (2k + 1)

تابع s = mysin (x)

% محاسبه سینوس با بسط سری

% استفاده: y = mysin (x)،-pi< х < pi

% محاسبه اولین جمله جمع برای k = O k = 0;

% محاسبه متغیر کمکی

در حالی که abs (u)> 1.0e-10 k = k + 1;

u = -u * x2 / (2 * k) / (2 * k + 1); s = s + u;

مقالات مرتبط برتر