آموزش متلب (MATLAB)
دسته بندی ( ۵۴۰ آموزش )
نمایش دسته بندی ها (۵۴۰ آموزش)
مباحث اولیه، در متلب (MATLAB)
مباحث اولیه، در متلب (MATLAB) 8
بردارها (Vector) و ماتریس ها (Matrix)، در متلب (MATLAB)
بردارها (Vector) و ماتریس ها (Matrix)، در متلب (MATLAB) 75
دستورهای ساده و پرکاربرد، در متلب (MATLAB)
دستورهای ساده و پرکاربرد، در متلب (MATLAB) 4
توابع (Function)، در متلب (MATLAB)
توابع (Function)، در متلب (MATLAB) 11
متغیرها (Variable)، در متلب (MATLAB)
متغیرها (Variable)، در متلب (MATLAB) 6
m-file ها، در متلب (MATLAB)
m-file ها، در متلب (MATLAB) 2
نمایش اطلاعات در خروجی (پنجره Commands)، در متلب (MATLAB)
نمایش اطلاعات در خروجی (پنجره Commands)، در متلب (MATLAB) 5
رسم شکل ها، در متلب (MATLAB)
رسم شکل های دو بعدی، در متلب (MATLAB)
رسم شکل های دو بعدی، در متلب (MATLAB) 19
رسم شکل های سه بعدی، در متلب (MATLAB)
رسم شکل های سه بعدی، در متلب (MATLAB) 13
رسم چند شکل با هم، در متلب (MATLAB)
رسم چند شکل با هم، در متلب (MATLAB) 6
رسم شکل ها و نمودارهای خاص، در متلب (MATLAB)
رسم شکل ها و نمودارهای خاص، در متلب (MATLAB) 12
رسم شکل های هندسی ساده، در متلب (MATLAB)
رسم شکل های هندسی ساده، در متلب (MATLAB) 8
تعیین ویژگی های خط های رسم شده در شکل، در متلب (MATLAB)
تعیین ویژگی های خط های رسم شده در شکل، در متلب (MATLAB) 6
تعیین ویژگی های محورهای مختصات شکل، در متلب (MATLAB)
تعیین ویژگی های محورهای مختصات شکل، در متلب (MATLAB) 12
نمایش متن در شکل (عنوان، توضیح و ...)، در متلب (MATLAB)
نمایش متن در شکل (عنوان، توضیح و ...)، در متلب (MATLAB) 5
تعیین ویژگی های رنگ های (Color) به کار رفته در رسم شکل، در متلب (MATLAB)
تعیین ویژگی های رنگ های (Color) به کار رفته در رسم شکل، در متلب (MATLAB) 3
تعیین یا تغییر ویژگی های شکل (قبل از رسم شکل)، در متلب (MATLAB)
تعیین یا تغییر ویژگی های شکل (قبل از رسم شکل)، در متلب (MATLAB) 13
تعیین یا تغییر ویژگی های شکل (بعد از رسم شکل)، در متلب (MATLAB)
تعیین یا تغییر ویژگی های شکل (بعد از رسم شکل)، در متلب (MATLAB) 9
ذخیره شکل ها به صورت فایل (فایل عکس)، در متلب (MATLAB)
ذخیره شکل ها به صورت فایل (فایل عکس)، در متلب (MATLAB) 2
کار با شکل رسم شده، در متلب (MATLAB)
کار با شکل رسم شده، در متلب (MATLAB) 1
پردازش تصویر و کار با عکس ها، در متلب (MATLAB)
پردازش تصویر و کار با عکس ها، در متلب (MATLAB) 15
ساخت انیمیشن، در متلب (MATLAB)
ساخت انیمیشن، در متلب (MATLAB) 1
متغیرها و معادلات سمبلیک (Symbolic)، در متلب (MATLAB)
متغیرها و معادلات سمبلیک (Symbolic)، در متلب (MATLAB) 4
رشته ها (String) و آرایه های رشته ای (String Array) و کاراکترها (Character) و آرایه های کاراکتری (Character Array) (متن ها)، در متلب (MATLAB)
رشته ها (String) و آرایه های رشته ای (String Array) و کاراکترها (Character) و آرایه های کاراکتری (Character Array) (متن ها)، در متلب (MATLAB) 42
حلقه ها (for و while)، در متلب (MATLAB)
حلقه ها (for و while)، در متلب (MATLAB) 3
آرایه ها (Array)، در متلب (MATLAB)
آرایه ها (Array)، در متلب (MATLAB) 2
آرایه های سلولی (Cell Array)، در متلب (MATLAB)
آرایه های سلولی (Cell Array)، در متلب (MATLAB) 7
ساختارها (Structure) و آرایه های ساختاری (Structure Array)، در متلب (MATLAB)
ساختارها (Structure) و آرایه های ساختاری (Structure Array)، در متلب (MATLAB) 3
جدول ها (Table)، در متلب (MATLAB)
جدول ها (Table)، در متلب (MATLAB) 11
جدول های زمانی (TimeTable)، در متلب (MATLAB)
جدول های زمانی (TimeTable)، در متلب (MATLAB) 1
درخت ها (Tree)، در متلب (MATLAB)
درخت ها (Tree)، در متلب (MATLAB) 1
پایگاه داده SQLite ، در متلب (MATLAB)
پایگاه داده SQLite ، در متلب (MATLAB) 0
دستورات شرطی (if و else و switch و ...)، در متلب (MATLAB)
دستورات شرطی (if و else و switch و ...)، در متلب (MATLAB) 2
خطاهای رایج، در متلب (MATLAB)
خطاهای رایج، در متلب (MATLAB) 2
برنامه نویسی شیء گرا (Object Oriented Programming) ، در متلب (MATLAB)
برنامه نویسی شیء گرا (Object Oriented Programming) ، در متلب (MATLAB) 1
سیمولینک (Simulink)، در متلب (MATLAB)
سیمولینک (Simulink)، در متلب (MATLAB) 5
GUI و واسطه های گرافیکی، در متلب (MATLAB)
GUI و واسطه های گرافیکی، در متلب (MATLAB) 7
فایل ها (File) و پوشه ها (Folder)، در متلب (MATLAB)
فایل ها (File) و پوشه ها (Folder)، در متلب (MATLAB) 18
تاریخ و زمان، در متلب (MATLAB)
تاریخ و زمان، در متلب (MATLAB) 19
توقف موقتی یا کامل برنامه، در متلب (MATLAB)
توقف موقتی یا کامل برنامه، در متلب (MATLAB) 4
بردارها و ماتریس های خاص، در متلب (MATLAB)
بردارها و ماتریس های خاص، در متلب (MATLAB) 3
توابع خاص، در متلب (MATLAB)
توابع خاص، در متلب (MATLAB) 2
حافظه (Memory)، در متلب (MATLAB)
حافظه (Memory)، در متلب (MATLAB) 3
برنامه های آماده برای دانلود، در متلب (MATLAB)
برنامه های آماده برای دانلود، در متلب (MATLAB) 1
Excel و متلب (MATLAB)
Excel و متلب (MATLAB) 2
راهنما (Help)، در متلب (MATLAB)
راهنما (Help)، در متلب (MATLAB) 2
مباحث عمومی، در متلب (MATLAB)
مباحث عمومی، در متلب (MATLAB) 19

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

همان طور که می دانید، در زبان برنامه نویسی متلب (MATLAB) نیازی به تعریف اولیه بردارها و ماتریس ها نمی باشد و نیازی به تعیین اندازه آنها (تعداد عنصرهای آنها) قبل از مقداردهی عنصرهای آنها نیست. اما چنانچه قبل از مقداردهی عنصرهای بردارها و ماتریس ها، آنها را با یک اندازه مشخص و به صورت تعریف اولیه با عناصر برابر مقدار 0 یا 1 بسازیم (با دستورات zeros یا ones که مقدار اولیه 0 یا 1 را برای عنصرها در نظر می گیرند)، سرعت اجرای عملیات هایی که برای مقداردهی آن بردارها و ماتریس ها می باشند، افزایش چشمگیری خواهد داشت و بنابراین سرعت اجرای کل برنامه افزایش می یابد.

برای اثبات این موضوع، دو قطعه کد را با تعریف اولیه بردار و بدون تعریف اولیه بردار اجرا می کنیم و با استفاده از دستورهای tic و toc ( کلید شماره 19 )، زمان اجرای این دو قطعه کد را به دست آورده و با یکدیگر مقایسه می نماییم.

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

نتیجه :

اکنون همان قطعه کد را با تعریف اولیه بردار بر اساس دستور zeros خواهیم داشت که باعث می شود بردار بر اساس اندازه نهایی آن (که در این مثال، مقدار اندازه نهایی را می دانیم) به صورت اولیه تعریف شود و دارای عناصری با مقدار برابر عدد 0 بوده و سپس در عملیات های مقداردهی، مقدار عنصرها در آن ذخیره شوند (به جای صفرهای اولیه قرار بگیرند) :

نتیجه :

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

نکته

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

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

به مثال زیر توجه کنید :

مثال

فرض کرده ایم که نمی دانیم اندازه نهایی بردار برابر چه مقداری است و تخمین اولیه 17000 عنصر را برای آن داریم و با دستور zeros ، آن را به صورت اولیه، تعریف می کنیم :

نتیجه :

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

نویسنده علیرضا گلمکانی
شماره کلید 26250
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

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

جستجو در کلیدستان، توسط گوگل

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

دسترسی سریع

کلید
×

شماره کلید


دسته بندی
×

شماره دسته کلید


جستجو
×

جستجو


راهنمای دستورات متلب (MATLAB)

راهنمای دستورات متلب (MATLAB) بر اساس حرف اول دستور :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z