تابع بدون مقدار، متغير Persistent
يك ام-فايل تابعي (كه به اختصار تابع خوانده ميشود) ميتواند بدون مقدار برگشتي (آرگومان خروجي) باشد. اينگونه توابع معمولاٌ براي نمايش نتايج به كار ميروند.
معرفي يك متغير با پيشوند persistent باعث ميشود كه مقدار متغير در مراجعات بعدي به تابع حفظ شود. آوردن نام تابع بعد از clear باعث ميشود كه مقدار متغيرهاي عددي persistent آن صفر شود.
مثال:
نام يك دانشجو را به عنوان ورودي دريافت و همراه با شماره رديف نمايش ميدهيم.
ابتدا يك تابع با ورودي نام دانشجو مينويسيم. اين تابع نام دانشجو را از صفحه كليد دريافت ميكند و هر بار كه اجرا شود نام دريافتي را با شماره رديف در كنار نام دانشجو (متغير رشته اي wr ) چاپ مي كند. رشته ي wr كه به تابع (sst(ns ارسال مي شود يك بردار است كه هر عنصر آن يك حرف الفبا است.
عبارت persistent nn باعث ميشود كه مقدار n كه شمار رديف را نشان ميدهد براي اجراي بعدي تابع حفظ شود.
% Function M-File stt.m function stt(ns)
persistent nn
if isempty(nn)
دراجراي اول شماره رديف را يك ميدهيم % ;nn = 1
else
در هر بار تكرارِ اجرا شماره رديف يك واحد افزايش مييابد %
;nn = nn + 1
end
mm = num2str(nn);
disp([‘Student number ‘ mm ‘ is ‘ ns])
حال برنامه اي به نام stdno.m مينويسيم كه تابع فوق را در درون يك حلقه چند بار اجرا ميكند. %
Script M-File stdno.m %
clear stt
اين دستور در اجراي اولِ تابع ()stt مقدار شمارنده را صفرميكند. %
wr = ‘h’;
يك مقدار اوليه دلخواه براي نام دانشجو در نظر ميگيريم كه حلقه براي بار اول اجرا شود. %
while isempty(wr) == 0
حلقه تا زمانيكه نامي را وارد كنيم (wr خالي نباشد)، ادامه مييابد. با زدن حلقه تمام ميشود. %
wr = input(‘Enter the student name: ‘,’s’);
قرار دادن ‘s’ به عنوان آرگومان دوم ()input باعث ميشود كه بتوانيم يك رشته را به wr نسبت دهيم %
if isempty(wr)
اگر بدون وارد كردن نام (wr خالي)، كليد را بزنيم برنامه تمام ميشود %
break
end
stt(wr)%
end
>> stdno
Enter the student name: Ali
Student number 1 is Ali
Enter the student name: Maryam
Student number 2 is Maryam
Enter the student name: Masud
Student number 3 is Masud
Enter the student name:
نویسنده: مصطفی همت آبادی
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,