متغیرهای global در متلب
فرض نمائید که m فایلی به نام test.m به دستورات زیر وجود دارد:
x=2;
k=f(3);
disp(k)
در این برنامه از تابع f استفاده شده است. فرض کنید که تابع f نیز به صورت زیر تعریف شده باشد:
function y=f(t)
y=t+x;
با اجرای برنامه test هنگامیکه متلب می خواهد تابع f را محاسبه نماید وارد این تابع می شود. در تابع f هنگامیکه متغیر y در حال محاسبه شدن می باشد، متلب به متغیر x خطا داده و برنامه متوقف خواهد شد. علت این خطا است که متغیرهای درون function اصطلاحا local یا محلی می باشند و حوزه فعالیت آنها تنها در خود function می باشد و متغیرهای درون function هیچ ارتباطی با برنامه های دیگر ندارند. با اینکه با اجرای برنامه test، متغیر x در workspace ایجاد شده است اما function، نمی تواند از x استفاده کند چرا که متغیرهای درون function محلی می باشند و function در حالت عادی نمی تواند به متغیرهای برنامه اصلی دسترسی داشته باشد.
global x
x=2;
k=f(3);
disp(k)
و برنامه f هم به صورت زیر اصلاح می شود:
function y=f(t)
global x
y=t+x;
اگر بخواهید x ای که در function استفاده می شود همان x برنامه اصلی در test.m باشد باید این متغیر را در هر دو برنامه، اصطلاحاً global یا عمومی نمائید. به این نکته توجه کنید که دستور global باید در هر دو برنامه نوشته شود. پس برنامه test.m به صورت زیر اصلاح می گردد:
در نتیجه به کمک دستور global ، حوزه فعالیت متغیرهای برنامه اصلی، تا داخل function ها و یا m فایل های دیگر گسترش می یابد.
با این کار متغیر x ای که در function قرار دارد، از آنجا که global شده است همان x=2 ای است که در برنامه اصلی آمده است.
مقاله متلب,مطلب,متلب,مقاله برق,مقاله قدرت,مقاله مطلب,مقاله سیمولینک,دانلود متلب,دانلود مقاله متلب,مقالهmatlab ,آموزش متلب,مطلب,متلب,آموزش برق,آموزش قدرت,آموزش مطلب,آموزش سیمولینک,دانلود متلب,دانلود آموزش متلب,آموزشmatlab ,پروژه متلب,مطلب,متلب,پروژه برق,پروژه قدرت,پروژه مطلب,پروژه سیمولینک,دانلود متلب,دانلود پروژه متلب,پروژهmatlab ,
سلام
عالی بود
بسیار متشکرم
ممنون از شما همین نظرات مارو دلگرم نگه میداره فقط
خیلی خیلی ممنون از سایت خوبتون و کمک بزرگی که به من کردید.
تشکر از شما که به ما سر زدید همین نظرات مارو دلگرم نگه میداره
سلام و خسته نباشید.
آموزشی مفیدی بود.
انشالله همچنان با قوت ادامه بدید.
درود…
سلام همین پیامها باعث دلگرمی منه