مثال :
فرض کنید بخواهیم تابع f را به صورت یک چند جمله ای از x تعریف کنیم . می نویسیم :
f=inline('x^2+2*x+1','x')
نتیجه :
f =
Inline function:
f(x) = x^2+2*x+1
درون پرانتز دستور inline ، عبارت اول برابر چندجمله ای و عبارت دوم ، متغیر را مشخص می کند . در دستور فوق می توانیم عبارت 'x' را که متغیر را مشخص می کند ، حذف کنیم زیرا دستور inline می تواند آن را حدس بزند . به مثال زیر توجه کنید :
مثال :
فرض کنید بخواهیم تابع f را به صورت یک چند جمله ای از x تعریف کنیم . می نویسیم :
f=inline('x^2+2*x+1')
نتیجه :
f =
Inline function:
f(x) = x^2+2*x+1
حال در مثال زیر نشان می دهیم که چگونه تابع تعریف شده مقدار متغیر x را دریافت کرده و نتیجه را در خروجی نمایش می دهد :
مثال :
f=inline('x^2+2*x+1')
f(2)
نتیجه :
f =
Inline function:
f(x) = x^2+2*x+1
ans =
9
تابع تعریف شده قبلی تنها قادر است که در ورودی ، یک مقدار را برای متغیر x دریافت کرده و سپس نتیجه را نمایش دهد . فرض کنید که بخواهیم تابع در ورودی ، یک بردار را دریافت کرده و سپس مقدار تابع را برای هر عنصر آن بردار محاسبه کند ، برای این منظور باید در عبارتی که برای تعریف تابع به کار می بریم از vectorize استفاده کنیم . به مثال زیر توجه کنید :
مثال :
f=inline(vectorize('x^2+2*x+1'),'x')
A=1:5
f(A)
نتیجه :
f =
Inline function:
f(x) = x.^2+2.*x+1
A =
1 2 3 4 5
ans =
4 9 16 25 36
تعریف توابع شامل دو متغیر در متلب با دستور inline :
برای تعریف توابع دو متغیره ، درون پرانتز دستور inline ابتدا باید عبارت تابع را نوشته و سپس نماد دو متغیر را به ترتیب مشخص کنیم . به مثال زیر توجه کنید :
مثال :
f=inline('x^2+2*y')
f(1,2)
نتیجه :
f =
Inline function:
f(x,y) = x^2+2*y
ans =
5
برچسبها: دستورهای ابتدایی, m, file, Matlab Function
برنامه تبدیل مختصات ژئودتیک به کارتزین و بالعکس (M-file)
برنامه تبدیل مختصات کارتزین به کروی (M-file)
برنامه تبدیل مختصات کروی به کارتزین (M-file)
برنامه تبدیل مختصات ژئودتیک از یک بیضوی به بیضوی دیگر (M-file)
برنامه که فاصله روی کره را محاسبه می کند (M-file)
برنامه که مختصات ژئودتیک به مختصات UTM تبدیل می کند (M-file)
برنامه که حرکت قطبی را ترسیم می کند (M-file)
برچسبها: تبدیل مختصات ژئودتیک به کارتزین, تبدیل مختصات کارتزین به کروی, برنامه تبدیل مختصات کروی به کارتزین, M
اكثر اشیایی كه در ساختار گرافیكی مطلب دیده میشوند ، ویژگیهای مشتركی دارند.امروز به دو ویژگی دیگر از آنها میپردازم.
این كدها را در در یك m-file به اسم plot1 ذخیره كنید.
x=1:100;
y=x.^2;
hold on
for i=1:99
plot([x(i) x(i+1)],[y (i) y(i+1)])
drawnow
end
و كدهای زیر را به اسم plot2
x=1:100;
y=-(x.^2);
hold on
for i=1:99
plot([x(i) x(i+1)],[y(i) y(i+1)])
drawnow
end
در خط فرمان دستور زیر را بنویسید.
figure ('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1')
بر روی پنجره باز شده كلیك كرده و تكمه موس را پایین نگه دارید ، بعد از چند لحظه تكمه موس را رها كنید.
میبینید كه رسم نمودار اول متوقف شده و نمودار دروم رسم میشود.
با دستور get مقدار دو ویژگی یاد شده را مشاهده كنید.
get (gcf,'bus')
get (gcf,'inter')
نكته : در هنگام كار كردن با ویژگیها لازم نیست نام كامل آنها را بنویسید، فقط تا آنجایی كه با بقیه ویژگیها قاطی نشود لازم است كه بنویسید.
مقدار bus برابر با queue(صف) یعنی رخداد(event) دوم بعد از رخداد اول انجام میشود.مقدار inter برابر با on یعنی رخداد دوم میتواند جلوی رخداد اول را بگیرد.
figure ('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1','Interru ptible','off')
دوباره تكمه موس را پایین نگه داشته و بعد رها كنید.میبینید كه رخداد اول یطور كامل انجام شده و بعد رخداد دوم انجام میشود.
این دفعه یك پنجره ایجاد كرده و مقدار bus را برابر با cancel و مقدار inter را off میكنیم.
figure ('WindowButtonUpFcn','plot2','WindowButtonDownFcn','plot1')
set (gcf,'inter','off')
set (gcf,'bus','cancel')
بعد از رها كردن موس هیچ اتفاقی نمیافتد.
برچسبها: متلب, MATLAB, m, file
