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

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

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

پاسخ این پرسش را می توان با استفاده از دستور profile در متلب، یافت. با استفاده از دستور profile ، شما می توانید لیستی از زمان اجرای توابع مختلف برنامه را مشاهده کنید. بنابراین تنها کافی است که در این لیست، تابعی را که دارای بیشترین زمان اجرا بوده است، بیابید (که در بالای لیست نمایش داده می شود). با یافتن این تابع، شما متوجه خواهید شد که چه بخشی از کدهای برنامه متلب نوشته شده را باید تغییر بدهید تا زمان اجرای برنامه، کاهش یابد.

برای آشنایی با نحوه استفاده از دستور profile در متلب، به مثال زیر توجه کنید :

مثال

clear all
close all
clc

profile on

x=0:0.1:2*pi;
y=sin(x);
plot(x,y)

profile viewer

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

دستور profile viewer ، باعث می شود که مرورگر اینترنت برنامه متلب، باز شود و در آن لیستی از توابع و زمان اجرای آنها نمایش داده شود :

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

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

مثال

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


clear all
close all
clc

profile on

x=0:0.1:2*pi;
y=sin(x);
plot(x,y)

p=profile('info');
profsave(p,'profile_results')
نویسنده علیرضا گلمکانی
شماره کلید 150
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 0 0 0

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