نکته های کلیدی در آب و هواشناسی سینوپتیک
خدایا! کمکم کن؛ پیمانی را که در طوفان با تو بستم در آرامش فراموش نکنم
درباره وبلاگ


خدایا !
از این ناراحتم كه روزی بسیاری از درهای علوم را بر روی خود بگشاییم و هنوز شناختمان از تو تنها در همین حد باشد.


مدیر وبلاگ : mehdi doostkamian
مطالب اخیر
نویسندگان
نظرسنجی
مطالبی را که در وب گذاشته می شود چگونه ارزیابی می کنید:؟







پیوندها
آمار وبلاگ
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :





برای نمایش تصاویر گالری كلیك كنید


دریافت كد گالری عكس در وب

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

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

در متلب، برای تخصیص فضای اولیه (Pre-Allocation)، از توابع مختلفی استفاده می شود. ازمیان این توابع، پر کاربردترین آن ها، تابع zeros است. این تابع ابعاد ماتریس مورد نظر را می گیرید، و بخشی از حافظه را به همان اندازه، برای آرایه موزذ نظر تخصیص می دهد. این کار، در زبان C، با تابع malloc انجام می شود. برای آگاهی بیشتر از چگونگی کارکرد این تابع، به راهنمای آن در هلپ متلب، مراجعه کنید.

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

 

 

 

برنامه اول:

clear;
n=300000;
x(1)=0;
x(2)=1;
for k=3:n
x(k)=x(k-1)+x(k-2);
end

برنامه دوم:

clear;
n=300000;
x=zeros(1,n);     % Pre-Allocation
x(1)=0;
x(2)=1;
for k=3:n
x(k)=x(k-1)+x(k-2);
end

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

منبع: farshadsoft.blogfa.com





نوع مطلب :
برچسب ها :
لینک های مرتبط :

       نظرات
سه شنبه 7 بهمن 1393
mehdi doostkamian
چهارشنبه 18 فروردین 1395 ساعت 11 و 31 دقیقه و 13 ثانیه
سلام من میخوام تو محیط متلب خوشه بندی انجام بدم وهیچ پیش زمینه ایی در این مورد ندارم,میشه خیلی ساده وروان بهم توضیح بدید,ممنون میشم
چهارشنبه 18 فروردین 1395 ساعت 11 و 30 دقیقه و 21 ثانیه
سلام من میخوام تو محیط متلب خوشه بندی انجام بدم وهیچ پیش زمینه ایی در این مورد ندارم,میشه خیلی ساده وروان بهم توضیح بدید,ممنون میشم
شنبه 27 تیر 1394 ساعت 19 و 25 دقیقه و 35 ثانیه

عالیه !!!


شنبه 23 اسفند 1393 ساعت 13 و 24 دقیقه و 58 ثانیه
سلام دوست عزیز! وبلاگت خیلی زیباست!

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

سیستم کسب درآمد پاپ من -- ثبت شده در ستاد ساماندهی

نرخ هر آی پی = از 60 تا 150 ریال

پاپ آپ اول = 30 ریال و دومی 30 ریال

تسویه حساب منظم و هفتگی

ابتدا وارد سایت شوید و ثبت نام کنید

بعد از ثبت نام وبسایت خودتون رو ثبت کنید تا تایید بشه

بعد یک کد در قالب وبلاگتون قرار میدید

بعد به ازای هر بازدید کننده 60 تا 150 ریال دریافت میکنید

همین حالا ثبت نام کرده و شروع به کسب درآمد کنید!

پرداخت منظم و شمارش بالا از مزیت های سایت ماست

کافی است امتحان کنید!

مطمئنم خوشتون میاد و راضی خواهید بود!


منتظرما!
یکشنبه 19 بهمن 1393 ساعت 01 و 03 دقیقه و 13 ثانیه
سلام دکتر جان چه خبر خوبی دکتر
دکتر جان اگه لایق دونستی لینک کن
http://ableh.mihanblog.com/
پایگاه اطلاع رسانی روستای اوله
mehdi doostkamianدرود
بسیار زیبا و جالب بود. همواره پیروز و موفق باشید.
با تشکر
سه شنبه 7 بهمن 1393 ساعت 09 و 55 دقیقه و 32 ثانیه
سلاااااااااااااااااااااام
خوووووووبی؟
مطالب وبت جالب بودن.

اومدم ازت دعوت کنم یه سری هم به وب من بزنی مطمئن باش پشیمون نمیشی
.★/(,"♥♥(".)★★
..★/♥★★/█★★
.★_| |_★._| |_ ★
سه شنبه 7 بهمن 1393 ساعت 08 و 45 دقیقه و 33 ثانیه
سلام خیلی دوست دارم با سایت ها و یا وبلاگ هایی شبیه شما تبادل لینک داشته باشم.شاید شما هم خوشتون بیاد کافیه یه سر به من بزنی و تصمیم بگیری
سه شنبه 7 بهمن 1393 ساعت 08 و 20 دقیقه و 34 ثانیه
سلام دوست خوبم وبلاگ جالب و آموزنده ای داشتی قالب زیبایی هم داشت پیشنهاد می دم که آدرس وبلاگتو ثبت کنی تا علاوه بر من دوستای دیگه هم از وبلاگت بهره مند بشن ممنون.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.