menusearch
javapro.ir

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جستجو
پنج شنبه ۱۱ آذر ۱۴۰۰ | ۱:۴۳:۲۶
۱۴۰۰/۸/۲۰ پنج شنبه
(3)
(0)
جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب
جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌‌‌‌‌های چندبعدی در متلب

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

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

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

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

 

 

آموزش برنامه نویسی متلب
موضوع:اسکریپت نویسی در برنامه نویسی متلب
جلسه: یازدهم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

 

این جلسه قصد داریم به آموزش نوشتن فایل‌‌‌‌های متنی یا اسکریپت ها بپردازیم. تاکنون دستوراتی که فراگرفته ایم را با وارد نمودن در پنجره فرمان اجراکرده ایم. دیدیم که این پنجره امکان اجرا و تست دستورات را برای ما تسهیل نموده است. اما اگر بخواهیم دستورات خود را در قالب یک فایل متنی ابتدا وارد نموده و سپس آن را ذخیره کرده و هر زمان که بدان احتیاج داشتیم فراخوانی کنیم، باید یک script یا فایل متنی ایجاد کنیم. این کار برای صرفهجویی در وقت و یا راحتی برای نوشتن برنامه‌‌‌‌های بزرگ مناسب-تراست. چرا که پنجره فرمان هرخط فرمان را پس فشردن Enter اجرا می‌کند، حال اگر از دستورات سنگین یا زیادی استفاده کنیم، مثلا از ماتریس‌‌‌‌های با ابعاد بالا استفاده کنیم، سرعت برنامه نویسی کاهش می‌یابد. از طرفی خواهیم دید که این روش برنامه نویسی مزایای دیگری نیز دارد.
برای شروع در پنجره فرمان edit را اجرا می‌کنیم یا در tab home گزینه نشان شده در زیر را انتخاب کنید:

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

 


از طریق کلید‌‌‌‌های ترکیبی ctrl + n هم می‌توان اقدام کرد. پنجره ای به نام editor یا ویرایشگر باز می‌شود. در بالای پنجره نام فایل ما که در بالای پنجره نمایش داده می‌شود به طور پیش فرض untitled است. سه Tab در بالای پنجره مشاهده می‌شود، EDITOR، PUBLISH، و VIEW. با گزینه‌‌‌‌های این تب ها بعدا بیشتر آشناخواهیم شد. در تب EDITOR گزینه save را انتخاب نمایید:

 

مینی دوره رایگان برنامه نویسی متلب | اسکریپت ها

 


در پنجره باز شده نام فایل را به دلخواه مثلا test تغییر داده و ذخیره کنید. دقت کنید که این فایل با پسوند .m ذخیره می‌شود. می‌بینیم که نام فایل در بالای پنجره ویرایشگر از untitled به test تغییر کرد. حال پنجره ویرایشگر را می‌بندیم. به پنجره اصلی متلب بازخواهیم گشت. به دو طریق می‌توان فایل ایجادی را دوباره باز و مشاهده کرد:


   1.از طریق open در تب home
   2. با نوشتن edit test در پنجره فرمان


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

 

A = [1 2 3;
    4 5 6;
  7 8 9];
B = [1 1 1;
    0 1 1;
    0 0 1];
C = A .* B


ماتریس دلخواه خود را A نامیدیم و سپس یک ماتریس بالا مثلثی با عناصر 1 تعریف کردیم(B). حاصل ضرب نقطه ای یا درایه به درایه آن دو را C نامیدیم. حال می‌خواهیم این کدها را اجرا کنیم، در تب EDITOR گزینه Run را انتخاب نمایید یا از کلید‌‌‌‌های ترکیبی ctrl+F5 استفاده نمایید. چنانچه از طریق خط فرمان می-خواهید با نوشتن دستوری این فایل را اجرا نمایید نام فایل را در خط فرمان بنویسید:

 

>>test
>>test
C =
    1    2    3
    0    5    6
    0    0    9


نتیجه در خط فرمان مشاهده می‌گردد. دستور whos را وارد نمایید:

 

>>whos
Name    Size          Bytes Class    Attributes

A        3x3              72 double             
B        3x3              72 double             
C        3x3              72 double 

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

 

A = [1 2 3;
    4 5 6;
    7 8 9];
B = [1 0 0;
    1 1 0;
    1 1 1];
C = A .* B


با اجرای مجدد برنامه، کد‌‌‌‌های برنامه از ابتدا تا انتها خط به خط اجرا می‌شوند. در ویرایشگر کنار خطوط برنامه شماره هر خط نیز نمایش داده شده است. ماتریس B در خط چهارم برنامه تعریف می‌شود. در برنامه فعلی ما فقط خطوط 4 و 5 و 6 را تغییردادیم. برای اجرای مجدد نیاز به اجرای تمام برنامه از ابتدا نیست. چرا که متغیر A در فضای کاری از قبل وجوددارد و نیازی به تغییرندارد. پس اگر بتوان فقط بخشی از کد را که می‌خواهیم، اجرا شود سرعت اجرای برنامه ها، خصوصا در برنامه‌‌‌‌های طولانی و حجیم، بالاتر می-رود. متلب چنین قابلیتی را در ویرایشگر قرارداده است. ابتدا خطوط 4 تا 7 انتخاب کنید. سپس از تب EDITOR گزینه Run Section که در زیر نشان داده شده را انتخاب کرده یا کلید‌‌‌‌های ترکیبی ctrl+Enter را فشار دهید:

 

 

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


به پنجره فرمان برگردید و نتیجه را مشاهده نمایید.
گزینه Run and Time را که در زیر نیز می‌بینید، انتخاب کنید:

 

آموزش رایگان تصویری برنامه نویسی متلب

 


پنجره زیر بازمی شود، این پنجره شامل اطلاعاتی در مورد زمان اجرای برنامه است:

 

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


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

 

A = [1 2 3;
    4 5 6;
    7 8 9];
C = A;
C(6) = 0;
C(8) = 0;
C(9) = 0;


نتیجه برنامه فوق مشابه قبل است اما زمان اجرای آن 2 میلی ثانیه(البته در کامپیوتر بنده) کاهش پیداکرد.
برای مشاهده زمان یک دستور خاص یا بخشی از یک برنامه به کار بردن دستور‌‌‌‌های tic و toc به ترتیب قبل و بعد دستور یا بخش موردنظر زمانی را در قالب یک پیغام متنی در پنجره فرمان نمایش می‌دهد:

 

tic
C(6) = 0;
C(8) = 0;
C(9) = 0;
Toc
>>test
Elapsed time is 0.000011 seconds.



- افزودن توضیحات، comment، به برنامه:
استفاده از "%" قبل یک خط برنامه یا دستور باعث می‌شود که متلب هنگام اجرای برنامه آن خط یا دستور را نادیده بگیرد. از این روش خصوصا زمانی که بخواهیم توضیحات راجع به برنامه و کد‌‌‌‌های آن بنویسیم استفاده می‌شود.
اضافه کردن توضیحات در زمان اجرای کدها، تاثیری ندارد و صرفا به خوانایی کد کمک می‌کند.(امتحان کنید!)


- دستور input(s) :
گاهی لازم است در برنامه داده هایی را از کاربربرنامه اخذ نماییم. دستور input یک پیغام که در قالب رشته ذخیره می‌شود،s، را به کاربر نشان داده و منتظر وارد نمودن داده توسط کاربر می‌شود. کاربر نیز داده خود را وارد نموده و Enter را فشارمی دهد:

 

>>input('Enter a number: ')
Enter a number: 23
ans =
  23


مشاهده می‌شود که داده وارد شده توسط کاربر در متغیر ans ذخیره شده و حاصل نمایش داده می-گردد. می‌توان به شکل زیر داده را در متغیر دلخواه ذخیره نمود:

 

>>n = input('Enter a number: ')
Enter a number: 23
n =
  23


چنانچه نخواهیم که مقدار n دوباره نمایش داده شود، بدیهی است که انت‌‌‌‌های دستور خود باید از ; استفاده کنیم.
اگر داده ورودی را بخواهیم در قالب رشته ذخیره کنیم،داریم:

 

>>Enter your name: Ali
n =
Ali
>>whos n
Name    Size          Bytes Class  Attributes

n        1x3                6 char       

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

 

>>Enter your value: sin(3*pi/2)
ans =
  -1
>>input('Enter your value: ')
Enter your value: magic(3)
ans =
    8    1    6
    3    5    7
    4    9    2
>>input('Enter your value: ')
Enter your value: clc


دستور آخر صفحه نمایش را پاک می‌کند.


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


- تابع disp(x):
پیغام یا آرایه ای را به کاربر نمایش می‌دهد. اگر x یک رشته باشد، آن را در پنجره فرمان نمایش می‌دهد:

 

>>disp('Welcome')
Welcome


اگر x متغیر یا آرایه باشد، بدون ذکر نام آن محتویات آن را نمایش می‌دهد:

 

>>a = [1 2 3];
>>disp(a)
    1    2    3


- مثال:
فرض کنید ماتریس A، شامل نمرات یک دانشجو در طول یک ترم در سه درس مختلف باشد، اگر بخواهیم می‌خواهیم این داده ها را به کاربر با ذکر نام هر درس در بالای ستون مربوطه نمایش دهیم، خواهیم داشت:

 

>>A = [13 14 15;16 17 18;19 19.5 20];
>>s = '  darse1  darse2  darse3';
>>disp(s),disp(A)
  darse1  darse2  darse3
  13.0000  14.0000  15.0000
  16.0000  17.0000  18.0000
  19.0000  19.5000  20.0000


پیروز و موفق باشید


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


 

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر