مشتق گیری از عبارت های سمبلیک (Symbolic)، با دستور diff ، در متلب
معمولا در ریاضیات بسیار پیش می آید که بخواهیم مشتق عبارتی را محاسبه نماییم. در متلب برای آنکه بتوانیم از عبارتی مشتق بگیریم، ابتدا باید متغیرهای به کار رفته در آن عبارت را با دستور syms به صورت سمبلیک (Symbolic) تعریف کنیم. سپس با دستور diff ، می توانیم مشتق آن عبارت را محاسبه نماییم.
به مثال زیر توجه کنید :
فرض کنید بخواهیم مشتق عبارت زیر را محاسبه کنیم : \begin{align} x^4 \end{align} می نویسیم :
diff(x^4)
نتیجه :
4*x^3
مشاهده می کنید که مشتق عبارت مورد نظر، در خروجی نمایش داده شده است. دستور syms x باعث می شود که در متلب، متغیر x به صورت سمبلیک تعریف شود.
می توانیم ابتدا با دستور inline ، تابعی را به صورت f(x) تعریف کنیم و سپس از این تابع، برحسب متغیر x ، مشتق بگیریم. به مثال زیر توجه کنید :
f=inline('x^4','x')
diff(f(x))
نتیجه :
Inline function:
f(x) = x^4
ans =
4*x^3
مشتق مرتبه دوم و مرتبه های بالاتر با دستور diff :
برای گرفتن مشتق مرتبه دوم و یا مرتبه های بالاتر، باید در دستور diff ، مرتبه مشتق را مشخص کنیم. به مثال زیر توجه کنید :
عبارت زیر را در نظر بگیرید : \begin{align} x^4 \end{align} می خواهیم از آن، مشتق مرتبه دوم بگیریم. می نویسیم :
diff(x^4,2)
نتیجه :
12*x^2
مشاهده می کنید که مشتق مرتبه دوم عبارت مورد نظر، در خروجی نمایش داده شده است. مرتبه دوم بودن مشتق را با نوشتن عدد 2 در درون پرانتز دستور diff ، مشخص کرده ایم.
اگر بخواهیم از آن عبارت، مشتق مرتبه n ام بگیریم، باید دستور diff(x^4,n) را اجرا کنیم.
مشتق گرفتن از یک تابع چند متغیره، بر حسب یک متغیر خاص، با دستور diff :
چنانچه تابعی داشته باشیم که چند متغیره باشد و ما بخواهیم بر حسب یکی از متغیرها، از تابع مشتق بگیریم، باید نام آن متغیر خاص را درون پرانتز دستور diff ذکر کنیم. به مثال زیر توجه کنید :
تابع زیر را در نظر بگیرید : \begin{align} f=x^2+y^2 \end{align} می خواهیم از آن، بر حسب متغیر y مشتق بگیریم. می نویسیم :
close all
clc
syms x y
f=x^2 + y^2
g=diff(f,y)
همان طور که مشاهده می کنید، نام متغیر y را درون پرانتز دستور diff ذکر کرده ایم.
نتیجه :
x^2 + y^2
g =
2*y
ممنونم .... مورد استفاده قرار گرفت.
عالیه
aaali buddd,,mamnoon
سپاس
برای مشتق زمانی در متلب باید چیکار کنم؟ من یه عبارت خیلی بزرگ برحسب x و y دارم که می خوام عبارت مشتقش برحسب زمان رو بهم بده مثلا x+y رو به صورت xdot+ydot بده
سلام ممنون بابت مطالب مفیدی که گذاشتید. یه سوال داشتم تو متلب چطور میشه تانسورها مثلا تانسور ریمان در نسبیت عام رو محاسبه کرد. مربوط به رشته فیزیک
عالی ...
مشتق دوم سیمبولیک از یک تابع چند متغیره نسبت به یکی از متغیر هاش میشه نوشت مثلاdiff(f,2,x)