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

متغیرهای سیستم متلب متغیرها در متلب

MATLAB مانند سایر زبان های برنامه نویسی توانایی کار با متغیرها را دارد. متغیرهااشیایی نامیده می شوند که نوعی داده را ذخیره می کنند. متغیرها بسته به نوع داده ای که ذخیره می کنند می توانند عددی، برداری یا نمادین باشند. متغیر یک نام دارد مشخص کننده... داده ها می توانند مقادیر خود را تغییر دهند، شناسه ثابت می ماند.

هنگام انتخاب نام برای یک متغیر، قوانین زیر را رعایت کنید.

■ نام متغیر می تواند شامل هر تعداد کاراکتر باشد، اما فقط 63 کاراکتر اول به خاطر سپرده می شوند و شناسایی می شوند (این عدد به عنوان حداکثر تعداد ممکن نویسه ها در نام متغیر توسط تابع name lengthmax برگردانده می شود).

■ نام متغیر همیشه باید با یک حرف شروع شود و می تواند ترکیبی از حروف، اعداد و زیرخط (_) باشد.

■ فاصله ها و کاراکترهای خاص (مانند +، -، *، /) در نام متغیرها مجاز نیستند.

■ نام متغیر نباید با نام سایر متغیرها، توابع، رویه ها و متغیرهای سیستم متلب یکی باشد.

■ نام متغیرها بین حروف بزرگ و کوچک تمایز قائل می شود (یعنی Abc و abc اسامی متفاوتی هستند).

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

isvarname متغیر_نام

جایی که متغیر_نامنام متغیری است که می خواهید از صحت آن مطمئن شوید. اگر نام معتبر باشد این تابع 1 و در غیر این صورت 0 را برمی گرداند. به عنوان مثال، نام 12_abc_3 8 نامعتبر است زیرا با یک رقم شروع می شود، بنابراین این تابع 0 را برمی گرداند.

>> isvarname 12_abc_3 8

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

در زیر متغیرهای اصلی سیستم متلب آمده است.

■ i، j واحد فرضی (ریشه دوم -1) است که برای تعیین قسمت خیالی اعداد مختلط استفاده می شود.

■ پی - عدد π (π = 3.141592653589793).

■ eps - عدم دقت عملیات با اعداد ممیز شناور، یعنی. فاصله بین 1.0 و نزدیکترین عدد ممیز شناور بعدی (برابر با 2.2204e-16 یا 2 -52).

■ ans نتیجه آخرین عملیات انتساب بدون امضا است.

■ inf - تعیین بی نهایت ماشین.

■ NaN - مختصر کلمات نهیک عدد (نه یک عدد)، که برای نشان دادن یک نتیجه تعریف نشده (مانند 0/0 یا Inf / Inf) گرفته می شود.

■ realmin - حداقل عدد واقعی مدول (2.22 51е-308، یا 2 -1022).

■ realmax - حداکثر عدد واقعی مدول (1.7977е + 3 08، یا 2 1023).

در متلب برخلاف سایر زبان های برنامه نویسی، انواع متغیرها از قبل اعلام نمی شوند. کافی است مقداری از نوع خاصی را به یک متغیر اختصاص دهیم. به عنوان مثال، برای اختصاص دادن به یک متغیر آمقدار 5 عبارت را در خط فرمان وارد کنید آ= 5 (به عنوان اپراتور واگذاریعلامت مساوی اعمال می شود) و فشار دهید ، پس از آن برنامه بلافاصله مقدار این متغیر را نمایش می دهد.

>> آ=5

همانطور که می بینید، در این مورد، برنامه متلب نیازی به اختصاص متغیر ans برای نمایش نتیجه ندارد، زیرا متغیر تنظیم شده است. آ.

اگر نمی‌خواهید پس از تخصیص مقدار به یک متغیر، مقدار فوراً روی صفحه نمایش داده شود، تخصیص را با نقطه ویرگول (;) خاتمه دهید و سپس فشار دهید. .

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

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

· پاک کردن - از بین بردن همه متغیرها.

· پاک کردن x - تخریب متغیر x.

پاک کردن a b c - تخریب یک خانواده از متغیرها (آرگومان های دستور clear بلافاصله نام فرمان را دنبال می کنند و با فاصله از هم جدا می شوند).

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

پایان کار -

این موضوع متعلق به بخش:

شخصیت های خاص و هدف آنها

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

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

با مطالب دریافتی چه خواهیم کرد:

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

مانند تمام زبان های برنامه نویسی، MatLab توانایی کار با متغیرها را فراهم می کند. علاوه بر این، کاربر لازم نیست نگران این باشد که متغیر چه مقادیری خواهد گرفت (مختلط، واقعی یا فقط اعداد صحیح). برای اینکه مثلاً مقدار 1.45 را به متغیر z نسبت دهیم، کافی است که z = 1.45 را در خط فرمان بنویسیم و MatLab بلافاصله مقدار z را نمایش می دهد:

»Z = 1.45
z =
1.4500

در اینجا از علامت مساوی به عنوان استفاده می شود اپراتور واگذاریدریافت نتیجه پس از هر تکلیف اغلب خیلی راحت نیست. بنابراین، MatLab این امکان را فراهم می کند که عملگر انتساب را با یک نقطه ویرگول خاتمه دهد تا خروجی نتیجه را در پنجره فرمان متوقف کند. نام متغیر می تواند هر دنباله ای از حروف و اعداد بدون فاصله باشد که با یک حرف شروع می شود. حروف کوچک و بزرگ متفاوت هستند، برای مثال MZ و mz دو متغیر متفاوت هستند. تعداد کاراکترهای درک شده توسط MatLab در نام متغیر 31 است.
به عنوان تمرینی برای استفاده از متغیرها، معنای عبارت زیر را بیابید:

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

"X = sin (1.3 * pi) / log (3.4);
»Y = sqrt (tan (2.75) / tanh (2.75));
» z= (x + y) / (x-y)
ز =
0.0243 - 0.9997i

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

»(Sin (1.3 * pi) / log (3.4) + sqrt (tan (2.75) / tanh (2.75))) /…
(sin (1.3 * pi) / log (3.4) -sqrt (tan (2.75) / tanh (2.75))) ans =
0.0243 - 0.9997i

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

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

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

"ایکس
-0.6611

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

,

سپس فقط دستور زیر را وارد کنید:

"(X-y) ^ (3/2)
ans =
-0.8139 + 0.3547i

فراخوانی توابع در MatLab به اندازه کافی انعطاف پذیر است. به عنوان مثال، می توانید با فراخوانی تابع exp از خط فرمان، e3.5 را محاسبه کنید:

»انقضا (3.5)
ans =
33.1155

راه دیگر استفاده از عملگر انتساب است:

»T = exp (3.5)
t =
33.1155

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

مشاهده متغیرها

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

"که
متغیرهای شما عبارتند از:
al a2 a3

دستور whos به شما امکان می دهد اطلاعات دقیق تری در مورد متغیرها در قالب یک جدول به دست آورید:

کل کل 3 عنصر با 24 بایت است

ستون اول، نام، شامل نام متغیرهای استفاده شده است. آنچه در ستون Size وجود دارد اساساً توسط اصل اساسی کار MatLab تعیین می شود. نرم افزار MatLab تمام داده ها در قالب آرایه ارائه می شوند.متغیرهای al، a2 و a3 یک به یک آرایه های دو بعدی هستند. همانطور که در ستون Bytes نشان داده شده است، هر یک از متغیرها هشت بایت است. در نهایت، آخرین ستون کلاس، نوع متغیرها را نشان می دهد - آرایه دوگانه، یعنی. آرایه ای از اعداد با دقت مضاعف خط زیر جدول می گوید که در پایان سه عنصر وجود دارد، i.e. متغیرها بیست و چهار بایت هستند. به نظر می رسد که نمایش تمام داده ها در MatLab در قالب آرایه ها مزایای خاصی را به همراه دارد.
برای آزاد کردن همه متغیرها از حافظه، از دستور clear استفاده کنید. اگر لیستی از متغیرها را در آرگومان ها مشخص کنید (با یک فاصله از هم جدا شده اند)، فقط آنها از حافظه آزاد می شوند، به عنوان مثال:

»پاک کردن al a3
"که
متغیرهای شما عبارتند از:
a2

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

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

علامت گذاری متغیر سیستم متلب

اعداد مختلط

در سیستم متلب اعداد مختلط مانند اعداد حقیقی از نوع دوگانه هستند. بنابراین برای علامت گذاری اثر با اعداد مختلط نیازی به برچسب گذاری جداگانه نیست. ضبط به شرح زیر انجام می شود: 3 + 7i; -7.1 + 0.831E + 2 * i; 5-3j. مثال نشان می دهد که یکی از حروف می تواند برای نشان دادن واحد خیالی استفاده شود: i یا j. متلب به طور پیش فرض از حرف i استفاده می کند .

در زیر مثالی از محاسبه جذر -1 آورده شده است

>> b = sqrt (a)

برای اعداد مختلط، می توانید از همان توابع اعداد حقیقی استفاده کنید، به جز موارد واضح که تابع نمی تواند آرگومان مختلط داشته باشد. به عنوان مثال، تابع rem (x، y) باقیمانده x تقسیم بر y را محاسبه می کند، بنابراین استفاده از یک عدد مختلط به عنوان آرگومان آن منجر به خطا می شود:

>> a = 2 + 3 * i;

>> rem (a, 3)

خطا در استفاده از ==> rem

استدلال ها باید واقعی باشند.

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

توابع متغیرهای مختلط

برای مثال:

>> عضلات شکم (2 + 3i)

>> conj (2 + 3i)

2.0000 - 3.0000i

>> isreal (x)

در مثال آخر، تابع isreal عدد 0 را برگرداند، زیرا متغیر x معتبر نیست

Ode23 ("lotka2" ,,); نمودار (t, y) فرمان global متغیرهای ALPHA و BETA را جهانی اعلام می کند و بنابراین در تابع lotka.m موجود است. بنابراین، آنها را می توان از خط فرمان تغییر داد و راه حل های جدید بدون ویرایش فایل M-lotka.m به دست می آید. برای کار با متغیرهای سراسری، باید: در هر تابع M که به این متغیر نیاز دارد، متغیر را جهانی اعلام کنید. برای جهانی بودن یک متغیر فضای کاری، باید آن را از خط فرمان به عنوان جهانی اعلام کنید. در هر تابع، از دستور global قبل از اولین ظاهر متغیر استفاده کنید. توصیه می شود از دستور global در ابتدای فایل M استفاده کنید. نام متغیرهای سراسری معمولا طولانی تر و معنادارتر از نام متغیرهای محلی هستند و اغلب با حروف بزرگ نوشته می شوند. این اختیاری است، اما برای حفظ خوانایی در کد MATLAB و کاهش احتمال تعریف مجدد تصادفی یک متغیر سراسری توصیه می‌شود. متغیرهای خاص برخی از توابع M متغیرهای خاصی را برمی‌گردانند که نقش مهمی در محیط متلب دارند: آخرین نتیجه; اگر متغیر خروجی مشخص نشده باشد، متلب از متغیر ans استفاده می کند. دقت نقطه شناور؛ تعیین شده توسط eps طول مانتیس است و برای PC eps = 2.220446049250313e-016 حداکثر عدد ممیز شناور، که با realmax من در کامپیوتر نشان داده می شود. برای کامپیوتر realmax = 1.797693134862316e + 308. کوچکترین عدد ممیز شناور که معدن realmin در کامپیوتر است. برای کامپیوتر realmin = 2.225073858507202e-308. یک متغیر ویژه برای p: pi pi = 3.141592653589793e + 000. 70 متغیر ویژه برای i خیالی، j واحد متغیر ویژه برای نماد بی نهایت؟ یک متغیر ویژه برای نشان دادن یک مقدار تعریف نشده - نتیجه عملیاتی مانند: 0/0، inf / inf. یک متغیر ویژه برای نشان دادن نوع کامپیوتر مورد استفاده توسط کامپیوتر. برای کامپیوتر - PCWIN. یک متغیر ویژه برای نشان دادن تعداد فلاپ های عملیات ممیز شناور. یک متغیر ویژه برای ذخیره شماره نسخه نسخه سیستم متلب استفاده شده. توابع M مربوطه که این متغیرهای ویژه را ایجاد می کنند در فهرست راهنمای elmat قرار دارند و توسط یک راهنمای آنلاین پشتیبانی می شوند. انواع داده ها متلب شش نوع داده پایه را تعریف می کند که هر کدام یک آرایه چند بعدی هستند. این شش کلاس عبارتند از double، char، sparse، uint8، cell و struct. نسخه‌های دو بعدی این آرایه‌ها، ماتریس نامیده می‌شوند، که MATLAB نام خود یعنی MATRIX LAB را از آنجا گرفته است. نمودار یک شی سیستم MATLAB متعلق به یکی از کلاس ها به شرح زیر است (شکل 3.1): شکل 3.1 71 اغلب شما باید فقط با دو نوع داده سر و کار داشته باشید: آرایه ای از اعداد با دقت دوگانه (دوگانه) و یک آرایه ای از کاراکترها (char)، یا فقط یک رشته. این به این دلیل است که تمام محاسبات در متلب با دقت مضاعف انجام می شود و اکثر توابع با آرایه هایی از اعداد یا رشته ها با دقت مضاعف کار می کنند. سایر انواع داده ها برای کاربردهای خاص مانند کار با ماتریس های پراکنده (sparse)، پردازش تصاویر (uint8)، کار با آرایه هایی با ابعاد بزرگ (سلول ها و ساختار) در نظر گرفته شده اند. نوع متغیر را نمی توان روی عددی یا آرایه تنظیم کرد. این نوع ها انواع مجازی نامیده می شوند و فقط برای گروه بندی متغیرهایی که دارای ویژگی های مشترک هستند استفاده می شوند. نوع uint8 برای ذخیره موثر داده ها در حافظه است. فقط عملیات اولیه نمایه سازی و تغییر اندازه را می توان برای این نوع داده اعمال کرد، اما هیچ عملیات ریاضی را نمی توان انجام داد. برای انجام این کار، چنین آرایه هایی باید به دو نوع تبدیل شوند. ایجاد انواع خود و اضافه کردن روش ها برای انواع داخلی. جدول زیر شامل هفتمین نوع داده، UserObject است. متلب به شما این امکان را می دهد که انواع داده های خود را ایجاد کنید و با آنها به صورت قیاس با انواع داخلی کار کنید. برای انواع داده های داخلی، می توانید یک متد را به همان روشی که برای یک شیء وجود دارد، لغو کنید. به عنوان مثال، برای تعریف عملیات مرتب سازی برای آرایه ای از نوع uint8، باید یک متد (sort.m یا sort.mex) ایجاد کنید و آن را در پوشه uint8@ قرار دهید. جدول زیر انواع داده ها را با جزئیات بیشتری توضیح می دهد. مثال کلاس شرح آرایه عددی با دقت دوگانه (این متداول ترین [1 2; 3 4] متغیر دوتایی نوع 5 + 6i در آرایه کاراکتری 72 متلب است (هر کاراکتر 16 بیت طول دارد)، اغلب به نام Char "Hi" ردیف. Double ماتریس پراکنده دقیق (فقط 2 بعدی). ساختار پراکنده برای ذخیره ماتریس‌هایی با تعداد کمی ورودی غیر صفر استفاده می‌شود، که به Sparse Speye (5) اجازه می‌دهد تنها از کسری از حافظه مورد نیاز برای ذخیره ماتریس کامل استفاده کند." - ماتریس‌های عمومی نیاز به استفاده از روش های خاص برای حل مسائل آرایه سلولی عناصر این آرایه شامل آرایه های دیگری است. آرایه های سلولی به سلول (17 چشم «سلام» (2)) اجازه می دهد تا داده های مرتبط را، احتمالاً با اندازه های مختلف، در یک ساختار واحد ترکیب کند. آرایه ای از رکوردها شامل نام فیلدها می شود. A.day = 12; A.color = خود فیلدها می توانند حاوی آرایه باشند. مانند ساختار "قرمز"؛ A.mat = آرایه های سلولی، آرایه های جادویی (3); رکوردها داده های مرتبط و اطلاعات مربوط به آنها را ترکیب می کنند. 73 آرایه ای از اعداد صحیح بدون علامت 8 بیتی. این به شما امکان می دهد اعداد صحیح را در محدوده 0 تا 255 در 1/8 حافظه مورد نیاز Uint8 Uint8 (جادویی (3)) برای یک آرایه با دقت دوگانه ذخیره کنید. هیچ عملیات ریاضی برای این آرایه ها تعریف نشده است. نوع داده تعریف شده توسط UserObject درون خطی ("sin (x)") تعریف شده توسط کاربر. شرح نمودار. خطوط اتصال در نمودار (شکل 3.1) تعلق یک نوع خاص از داده ها را به یک یا چند کلاس مشخص می کند. مثال. یک ماتریس پراکنده نیز دارای انواع دوگانه و عددی است. اپراتورهای isa (S ", sparse") isa (S ", double") isa (S ", numeric") مقادیر 1 (درست) را برمی‌گردانند، یعنی S یک ماتریس پراکنده عددی با دقت دوگانه است. توجه داشته باشید که نوع آرایه در بالای نمودار است. این بدان معناست که تمام داده های متلب آرایه هستند. به هر نوع داده می توان توابع و عملگرهای پردازش یا به عبارت دیگر روش ها را اختصاص داد. انواع داده های فرزند زیر والد در نمودار توسط روش های والد نیز پشتیبانی می شوند. بنابراین، آرایه ای از نوع double با روش های مورد استفاده برای نوع عددی پشتیبانی می شود. برخی از این روش ها در جدول نشان داده شده است: روش کلاس 74 محاسبه اندازه، طول، ابعاد (ndims)، الحاق آرایه ها ()، جابجایی، نمایه سازی آرایه چند بعدی (زیرزنما)، تغییر شکل (تغییر شکل) و تغییر ابعاد یک چند بعدی. آرایه. نمایه سازی با استفاده از پرانتزهای فرفری - آرایه ای از سلول های سلولی (e1، ...، en) و جداسازی موارد لیست با کاما. توابع رشته ای (strcmp، پایین تر)، تبدیل خودکار رشته Char Char به دو نوع برای استفاده از روش های کلاس دوبل. عملیات حسابی و منطقی، توابع ریاضی، توابع از ماتریس. جستجو (یافتن)، پردازش اعداد مختلط (واقعی، تصویر)، تولید بردارها، انتخاب ردیف‌های عددی، ستون‌ها، بلوک‌های فرعی یک آرایه، گسترش یک اسکالر. عملیات پراکنده بر روی ماتریس های پراکنده. آرایه رکوردها دسترسی به محتویات فیلد .(جداکننده ساختار آیتم های لیست یک کاما است). عملیات ذخیره سازی (اغلب با جعبه ابزار پردازش تصویر RFP Uint8 استفاده می شود) آرایه های خالی UserObject تعریف شده توسط کاربر. نسخه های قبلی MATLAB یک فرم واحد از آرایه خالی 0x0 را مجاز می دانستند که به عنوان نشان داده می شد. MATLAB از آرایه هایی پشتیبانی می کند که یک، اما همه ابعاد آن صفر است، یعنی آرایه هایی با ابعاد 1x0، 10x0x20 یا خالی تعریف شده اند. براکت های مربع همچنان آرایه 0x0 را نشان می دهند. آرایه های خالی با اندازه های مختلف را می توان با استفاده از توابع صفر، یک، رند یا چشم ایجاد کرد. به عنوان مثال، برای تشکیل یک آرایه خالی به اندازه 0x5، می توانید از عملگر انتساب E = صفر (0,5) استفاده کنید. 75 هدف اصلی آرایه های خالی این است که هر عملیاتی که برای یک آرایه (ماتریس) با اندازه m × n تعریف می شود، برای حالتی که m یا n برابر با صفر است، نتیجه صحیح را ایجاد کند. اندازه آرایه (ماتریس) نتیجه باید با مقدار تابع محاسبه شده در صفر مطابقت داشته باشد. برای مثال، عملگر C = به آرایه های A و B نیاز دارد که تعداد ردیف های یکسانی داشته باشند. بنابراین، اگر آرایه A دارای اندازه m؟N، و B دارای اندازه m؟P باشد، آنگاه C آرایه ای با اندازه m؟ (N + p) است. اگر هر یک از پارامترهای m، n یا p صفر باشد، نتیجه صحیح است. بسیاری از عملیات در متلب یک بردار سطر یا بردار ستون ایجاد می کنند. در این حالت، نتیجه می تواند یک بردار ردیف خالی r = صفر (1، 0) یا یک بردار ستون خالی C = صفر (0، 1) باشد. متلب 5 و بالاتر از قوانین سیستم متلب 4 برای دستورات if و while پشتیبانی می کند. به عنوان مثال، یک عملگر شرطی مانند if A، S1، else، S0، زمانی که A یک آرایه خالی است عملگر S0 را اجرا می کند. برخی از توابع متلب مانند sum، prod، min و max نتیجه را کوچک می کنند: اگر آرگومان یک آرایه باشد، نتیجه یک بردار است. اگر آرگومان بردار باشد، نتیجه یک عدد اسکالر است. برای این توابع، با یک آرایه ورودی خالی، نتایج زیر به دست می آید: sum () = 0; prod () = 1; حداکثر () =; دقیقه () =. 3.4 اپراتورهای سیستم متلب 5. ترکیب عملگرها در عبارات حسابی. توابع داخلی اپراتورهای سیستم متلب اپراتورهای سیستم متلب به سه دسته تقسیم می شوند: 76 عملگر حسابی به شما امکان می دهد عبارات حسابی بسازید و محاسبات عددی را انجام دهید. عملگرهای رابطه ای به شما امکان می دهند عملوندهای عددی را مقایسه کنید. عملگرهای منطقی به شما این امکان را می دهند که عبارات منطقی بسازید. عملگرهای منطقی کمترین اولویت را نسبت به عملگرهای رابطه ای و حسابی دارند. عملگرهای حسابی هنگام کار با آرایه‌ای از اعداد، سطوح اولویت زیر در بین عملیات‌های حسابی تنظیم می‌شوند: سطح 1: جابه‌جایی بر حسب عنصر (. ")، توان عنصری (. ^)، جابجایی ماتریس مزدوج هرمیتی (")، توان ماتریس (. ^)؛ سطح 2: جمع واحد (+)، تفریق واحد (-)؛ سطح 3: ضرب آرایه ها (. *)، تقسیم راست (./)، تقسیم چپ آرایه ها (. \)، ضرب ماتریس (*)، حل سیستم های معادلات خطی، عملیات (/)، عملیات (\). سطح 4: جمع (+)، تفریق (-)؛ سطح 5: عملگر تشکیل آرایه (:). در هر سطح، اپراتورها دارای اولویت برابر هستند و به ترتیب چپ به راست ارزیابی می شوند. ترتیب پیش فرض را می توان با استفاده از پرانتز تغییر داد. مثال. اجازه دهید 2 بردار A =; B =; نتایج اجرای عملگر C = A./B. ^ 2 برابر است با C = 0.7500 9.0000 0.2000 و عملگر C = (A./B). ^ 2 C = 2.2500 81.0000 1.0000 است. همانطور که می بینید، نتایج کاملا متفاوت است. عملگرهای حسابی اجازه استفاده از عبارات شاخص را می دهند. به عنوان مثال: 77 b = sqrt (A (2)) + 2 * B (1) b = 7 عملگر محاسباتی MATLAB معمولاً با آرایه های هم اندازه کار می کنند. برای بردارها و آرایه های مستطیلی، هر دو عملوند باید یک اندازه باشند، مگر اینکه یکی از آنها اسکالر باشد. اگر یکی از عملوندها اسکالر باشد و دیگری نباشد، در متلب پذیرفته شده است که اسکالر به اندازه عملوند دوم گسترش یافته و عملیات مشخص شده برای هر عنصر اعمال شود. این عملیات را گسترش اسکالر می نامند. عملگرهای رابطه ای متلب 6 عملگر رابطه ای زیر را تعریف می کند:< Меньше <= Меньше или равно >بزرگتر از> = بزرگتر یا مساوی == برابر با هویت ~ = مساوی نیست عملگرهای رابطه ای یک مقایسه عنصری بین دو آرایه با ابعاد مساوی انجام می دهند. برای بردارها و آرایه های مستطیلی، هر دو عملوند باید یک اندازه باشند، مگر اینکه یکی از آنها اسکالر باشد. در این مورد، متلب اسکالر را با هر عنصر عملوند دیگر مقایسه می کند. موقعیت هایی که این نسبت درست است، مقدار 1 را دریافت می کنند، که در آن نادرست - 0. عملگرهای رابطه، به عنوان یک قاعده، برای تغییر دنباله اجرای دستورات برنامه استفاده می شوند. بنابراین، آنها اغلب در بدنه دستورات switch if، for، while استفاده می شوند. عملگرهای رابطه ای همیشه به صورت عنصری اجرا می شوند. مثال. بیایید دو آرایه را با استفاده از شرط A مقایسه کنیم

3.3. اجرای توابع M. لیست های استدلال انواع استدلال انواع داده ها

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

تعیین نام.هنگامی که یک نام جدید ظاهر می شود، MATLAB بررسی می کند:

  1. آیا نام جدید یک نام متغیر است.
  2. آیا این نام نام یک تابع فرعی است، یعنی تابعی که در همان فایل M قرار دارد و فراخوانی می شود.
  3. خواه نام یک تابع خصوصی باشد که در فهرست خصوصی قرار دارد. این دایرکتوری فقط برای M-فایل هایی که یک سطح بالاتر قرار دارند قابل دسترسی است.
  4. آیا نام تابعی در مسیر متلب است؟ در این حالت، سیستم از فایل M استفاده می کند که ابتدا در مسیر دسترسی ظاهر می شود.

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

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

تغییرات زیر در دستور clear مجاز است:

این دستور فایل M فایل average.m را تجزیه می کند و شبه کد حاصل را در فایلی به نام average.p ذخیره می کند. این از تجزیه مجدد در طول یک جلسه جدید جلوگیری می کند. از آنجایی که تجزیه بسیار سریع است، دستور pcode تأثیر کمی بر سرعت اجرای آن دارد.
استفاده از P-code در دو مورد توصیه می شود:

  • هنگامی که لازم است تعداد زیادی فایل M مورد نیاز برای ارائه اشیاء گرافیکی در برنامه های مربوط به توسعه یک رابط کاربری گرافیکی تجزیه و تحلیل شود. در این مورد، استفاده از P-code شتاب قابل توجهی را فراهم می کند.
  • زمانی که کاربر می خواهد الگوریتم های پیاده سازی شده در فایل M را مخفی کند.

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

عملکرد مناطق کاریبه هر تابع M یک ناحیه حافظه اضافی اختصاص داده می شود که با ناحیه کاری MATLAB همپوشانی ندارد. این ناحیه را ناحیه کاری تابع می نامند. هر تابع حوزه کاری خاص خود را دارد.

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

بررسی تعداد آرگومان هاتوابع nargin و nargout به شما این امکان را می دهند که تعداد آرگومان های ورودی و خروجی را برای تابع فراخوانی شده تعیین کنید. این اطلاعات می تواند بعداً در عبارات شرطی برای تغییر مسیر محاسبات استفاده شود.

مثال:

تابع c = testarg1 (a, b)
اگر (نارگین == 1)
c = a. ^ 2;
elseif (nargin == 2)
c = + b;
پایان

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

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

این تابع به عنوان تابع strtok M فرمت شده است که در فهرست strfun قرار دارد.

تابع باید حداقل یک آرگومان ورودی داشته باشد

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

ابتدای رشته فرعی انتخاب شده را تعیین کنید

انتهای رشته فرعی انتخاب شده را تعیین کنید

تخصیص باقی مانده خط

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

لیست های استدلال

توابع varargin و varargout به شما این امکان را می دهند که تعداد دلخواه آرگومان ورودی و خروجی را ارسال کنید. سیستم متلب تمام آرگومان های ورودی و خروجی مشخص شده را در یک آرایه سلولی بسته بندی می کند. هر سلول می تواند حاوی هر نوع و هر مقدار داده باشد.

مثال
تابع testvar هر تعداد بردار دو عنصری را به عنوان ورودی می پذیرد و خطوط متصل کننده آنها را نمایش می دهد.

تابع testvar (varargin)

برای i = 1: طول (varargin)
x (i) = varargin (i) (1);
y (i) = varargin (i) (2);
پایان

xmin = min (0، min (x));
ymin = min (0، min (y));
محور ()
نمودار (x,y)

بنابراین، تابع testvar می تواند روی لیست های ورودی با طول های مختلف کار کند.

مثال:

testvar (،،،،،)
testvar ([- 1 0]،،،)

تشکیل آرایه ورودی varargin.از آنجایی که فهرست varargin آرگومان های ورودی را در یک آرایه سلولی ذخیره می کند، برای بازیابی داده ها باید از شاخص های سلولی استفاده شود. شاخص سلولی دارای دو جزء است:
- شاخص در بریس های فرفری؛
- نمایه داخل پرانتز

مثال:

y (i) = varargin (i) (2);
در اینجا ایندکس در پرانتزهای فرفری (i) نشان دهنده آدرس سلول i-امین آرایه varargin است و شاخص داخل پرانتز (2) نشان دهنده عنصر دوم در سلول است.

تشکیل آرایه خروجی varargout... با تعداد دلخواه آرگومان خروجی، آنها باید در یک آرایه سلولی varargout بسته بندی شوند. برای تعیین تعداد آرگومان های خروجی یک تابع، از تابع nargout استفاده کنید.

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

تابع = testvar2 (آرایه)
برای i = 1: nargout
varargout (i) = آرایین (i، :);
پایان

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

برای فراخوانی تابع testvar2 می توان از عملگرهای زیر استفاده کرد:

a = ";
= testvar2 (a)

p1 = 16
p2 = 2 7
p3 = 3 8
p4 = 4 9
p5 = 5 0

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

مثال
سرصفحه های تابع زیر استفاده صحیح از لیست های varargin و varargout را نشان می دهد:

تابع = مثال 1 (a، b، varargin)
تابع = مثال 2 (x1، y1، x2، y2، پرچم)

انواع متغیر

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

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

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

مثال.
فرض کنید لازم است تأثیر ضرایب a و b را برای مدل شکارچی-شکار توصیف شده توسط معادلات Lotke-Volterra بررسی کنیم:

بیایید یک فایل M lotka.m ایجاد کنیم:

تابع yp = lotka (t، y)
% معادلات LOTKA Lotke-Volterra برای مدل شکارچی-شکار

آلفا بتا جهانی
yp =;

سپس از طریق خط فرمان عملگرها را وارد کنید:

آلفا بتا جهانی
ALPHA = 0.01;
بتا = 0.02;
= ode23 ("lotka2" ,,);
نمودار (t, y)

دستور global متغیرهای ALPHA و BETA را جهانی و در نتیجه در تابع lotka.m موجود اعلام می کند. بنابراین، آنها را می توان از خط فرمان تغییر داد و راه حل های جدید بدون ویرایش فایل M-lotka.m به دست می آید.

برای کار با متغیرهای سراسری، باید:

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

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

متغیرهای خاصبرخی از توابع M متغیرهای خاصی را برمی‌گردانند که هنگام کار در محیط MATLAB مهم هستند:

پاسخ آخرین نتیجه؛ اگر هیچ متغیر خروجی مشخص نشده باشد، متلب از متغیر ans استفاده می کند.
eps دقت نقطه شناور؛ با طول مانتیس و برای PC eps = 2.220446049250313e-016 تعیین می شود.
realmax حداکثر عدد ممیز شناور قابل نمایش در رایانه؛ برای کامپیوتر realmax = 1.797693134862316e + 308.
realmin کوچکترین عدد ممیز شناور قابل نمایش در کامپیوتر. برای کامپیوتر realmin = 2.225073858507202e-308.
پی یک متغیر ویژه برای عدد p: pi = 3.141592653589793e + 000.
من، ج متغیرهای ویژه برای نشان دادن واحد خیالی
inf یک متغیر خاص برای نشان دادن نماد بی نهایت؟
NaN یک متغیر ویژه برای نشان دادن یک مقدار تعریف نشده - نتیجه عملیاتی مانند: 0/0، inf / inf.
کامپیوتر یک متغیر ویژه برای نشان دادن نوع کامپیوتر مورد استفاده. برای کامپیوتر - PCWIN.
فلاپ ها یک متغیر ویژه برای نشان دادن تعداد عملیات ممیز شناور.
نسخه یک متغیر ویژه برای ذخیره شماره نسخه سیستم متلب در حال استفاده.

توابع M مربوطه که این متغیرهای ویژه را ایجاد می کنند در فهرست راهنمای elmat قرار دارند و توسط یک راهنمای آنلاین پشتیبانی می شوند.

انواع داده ها

متلب شش نوع داده پایه را تعریف می کند که هر کدام یک آرایه چند بعدی هستند. این شش کلاس عبارتند از double، char، sparse، uint8، cell و struct. نسخه های دو بعدی این آرایه ها ماتریس نامیده می شوند که نام متلب از MATRIX LAB است.

نمودار تعلق یک یا شیء دیگر از سیستم متلب به یکی از کلاس ها به شرح زیر است (شکل 3.1):

بیشتر اوقات، احتمالاً فقط باید با دو نوع از این داده ها سر و کار داشته باشید: آرایه ای از دوتایی ها و آرایه ای از کاراکترها (char)، یا فقط یک رشته. این به این دلیل است که تمام محاسبات در MATLAB با دقت مضاعف هستند و اکثر توابع بر روی آرایه ها یا رشته ها با دقت مضاعف عمل می کنند.

سایر انواع داده ها برای کاربردهای ویژه ای مانند کار با ماتریس های پراکنده (sparse)، پردازش تصویر (uint8)، کار با آرایه های بزرگ (سلول ها و ساختار) در نظر گرفته شده اند.

نوع متغیر را نمی توان روی عددی یا آرایه تنظیم کرد. این نوع ها انواع مجازی نامیده می شوند و فقط برای گروه بندی متغیرهایی که دارای ویژگی های مشترک هستند استفاده می کنند.

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

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

برای انواع داده های داخلی، می توانید یک متد را به همان روشی که برای یک شیء وجود دارد، لغو کنید. به عنوان مثال، برای تعیین یک عملیات مرتب‌سازی برای آرایه‌ای از نوع uint8، باید یک متد (sort.m یا sort.mex) ایجاد کنید و آن را در دایرکتوری uint8@ قرار دهید.

جدول زیر انواع داده ها را با جزئیات بیشتری توضیح می دهد.

کلاس مثال شرح
دو برابر [ 1 2; 3 4]
5 + 6i
آرایه عددیدقت مضاعف (این رایج ترین نوع متغیر در متلب است
Char "هی" مجموعه ای از شخصیت ها(هر کاراکتر 16 بیت است)، که اغلب به عنوان یک رشته شناخته می شود.
پراکنده اسپای (5) ماتریس پراکندهدقت مضاعف (فقط 2 بعدی). ساختار پراکنده برای ذخیره ماتریس هایی با تعداد کمی از عناصر غیر صفر استفاده می شود که این امکان را فراهم می کند که تنها از قسمت کوچکی از حافظه مورد نیاز برای ذخیره ماتریس کامل استفاده شود. ماتریس های پراکنده نیاز به استفاده از روش های خاصی برای حل مسائل دارند.
سلول (17 چشم "سلام" (2)) آرایه سلولی... عناصر این آرایه حاوی آرایه های دیگری هستند. آرایه های سلولی به شما این امکان را می دهند که داده های مرتبط را، احتمالاً با اندازه های مختلف، در یک ساختار واحد ترکیب کنید.
ساختار A.day = 12; A.color = "قرمز"; A.mat = جادو (3); آرایه ای از رکوردها... شامل نام فیلدها می شود. خود فیلدها می توانند حاوی آرایه باشند. آرایه‌های رکوردها مانند آرایه‌های سلولی، داده‌های مرتبط و اطلاعات مربوط به آن را ترکیب می‌کنند.
Uint8 Uint8 (جادویی (3)) آرایه ای از اعداد صحیح بدون علامت 8 بیتی... این به شما امکان می دهد اعداد صحیح را در محدوده 0 تا 255 در 1/8 حافظه مورد نیاز برای یک آرایه با دقت دوگانه ذخیره کنید. هیچ عملیات ریاضی برای این آرایه ها تعریف نشده است.
User Object درون خطی ("گناه (x)") نوع داده تعریف شده توسط کاربر

شرح نمودار... خطوط اتصال در نمودار (شکل 3.1) تعلق یک نوع داده خاص به یک یا چند کلاس را تعیین می کند.

مثال
یک ماتریس پراکنده نیز دارای انواع دوگانه و عددی است. اپراتورها
isa (S "، پراکنده")
isa (S ", double")
isa (S "، عددی")

مقادیر 1 (true) را برگردانید، یعنی S یک ماتریس پراکنده عددی با دقت دوگانه است.

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

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

جدول برخی از این روش ها را فهرست می کند:

کلاس روش
آرایه محاسبه اندازه، طول، بعد (ndims)، الحاق آرایه ها ()، جابجایی، نمایه سازی چند بعدی (subindex)، تعریف مجدد (تغییر شکل) و ابعاد جایگشت یک آرایه چند بعدی.
آرایه سلولی نمایه سازی با استفاده از پرانتزهای فرفری (e1,…, en) و جدا کردن موارد لیست با کاما.
سیم چار توابع رشته ای (strcmp، پایین تر)، تبدیل خودکار به نوع double برای اعمال متدهای کلاس double.
دو برابر عملیات حسابی و منطقی، توابع ریاضی، توابع از ماتریس.
عددی جستجو (یافتن)، پردازش اعداد مختلط (واقعی، تصویر)، تشکیل بردارها، انتخاب سطرها، ستون‌ها، بلوک‌های فرعی آرایه، بسط اسکالر.
پراکنده عملیات روی ماتریس های پراکنده
آرایه از رکوردهای ساختار دسترسی به محتویات فیلد .(جداکننده موارد لیست یک کاما است).
Uint8 عملیات ذخیره سازی (که بیشتر در جعبه ابزار پردازش تصویر RFP استفاده می شود)
User Object تعریف شده توسط کاربر

آرایه های خالینسخه های اولیه MATLAB یک فرم آرایه خالی 0x0 را مجاز می دانستند که به عنوان نشان داده می شد. MATLAB 5 آرایه هایی را پشتیبانی می کند که در آنها یک، اما همه ابعاد آن صفر است، یعنی آرایه هایی با ابعاد 1x0، 10x0x20 یا خالی تعریف شده اند.

براکت های مربع همچنان آرایه 0x0 را نشان می دهند. آرایه های خالی با اندازه های مختلف را می توان با استفاده از توابع صفر، یک، رند یا چشم ایجاد کرد. به عنوان مثال، برای تشکیل یک آرایه خالی به اندازه 0x5، می توانید از عملگر انتساب استفاده کنید
E = صفر (0.5).

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

مثلا اپراتور
C =
به آرایه های A و B نیاز دارد که تعداد ردیف های یکسانی داشته باشند. بنابراین، اگر آرایه A m x n و B m x p باشد، C آرایه m x (n + p) است. اگر هر یک از پارامترهای m، n یا p صفر باشد، نتیجه صحیح است.

بسیاری از عملیات در متلب یک بردار سطر یا بردار ستون ایجاد می کنند. در این حالت، نتیجه می تواند یک بردار ردیف خالی باشد
r = صفر (1، 0)،
یا یک بردار ستون خالی
C = صفر (0، 1).

متلب 5 از قوانین سیستم متلب 4 برای دستورات if و while پشتیبانی می کند. به عنوان مثال، یک عملگر شرطی مانند
اگر A، S1، دیگری، S0، پایان
زمانی که A یک آرایه خالی باشد عملگر S0 را اجرا می کند.

برخی از توابع متلب مانند sum، prod، min و max نتیجه را کوچک می کنند: اگر آرگومان یک آرایه باشد، نتیجه یک بردار است. اگر آرگومان بردار باشد، نتیجه یک عدد اسکالر است.

برای این توابع، با یک آرایه ورودی خالی، نتایج زیر به دست می آید:
مجموع () = 0;
prod () = 1;
حداکثر () =;
دقیقه () =.

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