MATLAB دستور diff را برای محاسبات مشتق فراهم می کند. در ساده ترین شکل، تابعی را که مشتق آن را میخواهید فرمان diff را به عنوان یک آرگومان آن تابع تعریف کنید.
به عنوان مثال، مشتق تابع رو به را محاسبه کنید: f(t) = 3t۲ + ۲t-۲
مثال
یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن وارد کنید
syms t f = 3*t^2 + 2*t^(-2); diff(f)
هنگامی که کد بالا کامپابل شده و اجرا می شود، نتیجه ی زیر را تولید می کند:
ans = ۶*t - 4/t^3
قوانین ابتدایی مشتق گیری
خلاصه ای از معادلات متنوع یا قوانین مشتق گیری توابع و بررسی این قواعد
برای این منظور، (f ‘(x برای مشتق مرتبه اول و(f”(x برای مشتق دوم مرتب می کنیم.
قوانین مشتق گیری
قانون ۱
برای هر توابع f و g و هر عدد واقعی a و b، مشتق تابع (h(x) = af(x) + bg(x نسبت به (h'(x) = af'(x) + bg'(x است
h(x) = af(x) + bg(x)
h'(x) = af'(x) + bg'(x)
قانون ۲
قوانین جمع و تفریق بیان می کنند که اگر f و g دو توابع باشند، ‘fو ‘g به ترتیب مشتقات آنها هستند،
(f + g)’ = f’ + g’
(f – g)’ = f’ – g’
قانون ۳
قانون ضرب بیان می کند که اگر f و g دو توابع باشند، ‘ f ‘و ‘ g به ترتیب مشتقات آنها هستند،
(f.g)’ = f’.g + g’.f
قانون ۴
قانون تقسیم بیان می کند که اگر f و g دو توابع باشند، f ‘و g’ به ترتیب مشتقات آنها هستند،
(f/g)’ = (f’.g – g’.f)/g۲
قانون ۵
مشتق چند جمله ای یا توان ابتدایی به صورت زیر بیان می شود
y = f(x) = xn آنگاه f’ = n. x(n-1
یک نتیجه مستقیم از این قاعده این است که مشتق هر تابع ثابت صفر است، به عنوان مثال، اگر y = k، عددی ثابت باشد، آنگاه:
f’ = 0
قانون ۶
قانون زنجیره ای بیان می کند که مشتق تابع یک تابع ((h (x) = f (g (x نسبت به x برابر است با:
h'(x)= f'(g(x)).g'(x)
مثال
یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن وارد کنید –
syms x syms t f = (x + 2)*(x^2 + 3) der1 = diff(f) f = (t^2 + 3)*(sqrt(t) + t^3) der2 = diff(f) f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2) der3 = diff(f) f = (2*x^2 + 3*x)/(x^3 + 1) der4 = diff(f) f = (x^2 + 1)^17 der5 = diff(f) f = (t^3 + 3* t^2 + 5*t -9)^(-6) der6 = diff(f)
هنگام اجرای فایل، MATLAB نتیجه زیر را نمایش می دهد –
f = (x^2 + 3)*(x + 2) der1 = ۲*x*(x + 2) + x^2 + 3 f = (t^(1/2) + t^3)*(t^2 + 3) der2 = (t^2 + 3)*(3*t^2 + 1/(2*t^(1/2))) + 2*t*(t^(1/2) + t^3) f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2) der3 = (۲*x - 2)*(3*x^3 - 5*x^2 + 2) - (- 9*x^2 + 10*x)*(x^2 - 2*x + 1) f = (۲*x^2 + 3*x)/(x^3 + 1) der4 = (۴*x + 3)/(x^3 + 1) - (3*x^2*(2*x^2 + 3*x))/(x^3 + 1)^2 f = (x^2 + 1)^17 der5 = ۳۴*x*(x^2 + 1)^16 f = ۱/(t^3 + 3*t^2 + 5*t - 9)^6 der6 = -(۶*(۳*t^2 + 6*t + 5))/(t^3 + 3*t^2 + 5*t - 9)^7
مشتقات توابع نمایی، لگاریتمی و مثلثاتی
جدول زیر مشتقات توابع متداول نمایی، لگاریتمی و مثلثاتی که استفاده می شود را ارائه می دهد:
تابع | مشتق |
---|---|
ca.x | ca.x.ln c.a |
ex | ex |
ln x | ۱/x |
lncx | ۱/x.ln c |
xx | xx.(۱ + ln x) |
sin(x) | cos(x) |
cos(x) | -sin(x) |
tan(x) | sec۲(x), or 1/cos۲(x), or 1 + tan۲(x) |
cot(x) | -csc۲(x), or -1/sin۲(x), or -(1 + cot۲(x)) |
sec(x) | sec(x).tan(x) |
csc(x) | -csc(x).cot(x) |
مثال
یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن وارد کنید –
syms x y = exp(x) diff(y) y = x^9 diff(y) y = sin(x) diff(y) y = tan(x) diff(y) y = cos(x) diff(y) y = log(x) diff(y) y = log10(x) diff(y) y = sin(x)^2 diff(y) y = cos(3*x^2 + 2*x + 1) diff(y) y = exp(x)/sin(x) diff(y)
هنگام اجرای فایل، MATLAB نتیجه زیر را نمایش می دهد –
y = exp(x) ans = exp(x) y = x^9 ans = ۹*x^8 y = sin(x) ans = cos(x) y = tan(x) ans = tan(x)^2 + 1 y = cos(x) ans = -sin(x) y = log(x) ans = ۱/x y = log(x)/log(10) ans = ۱/(x*log(10)) y = sin(x)^2 ans = ۲*cos(x)*sin(x) y = cos(3*x^2 + 2*x + 1) ans = -sin(3*x^2 + 2*x + 1)*(6*x + 2) y = exp(x)/sin(x) ans = exp(x)/sin(x) - (exp(x)*cos(x))/sin(x)^2
محاسبه مشتقات مرتبه بالاتر
برای محاسبه مشتقات بالاتر از یک تابع f، از ترکیب (diff (f، n استفاده می کنیم.
محاسبه مشتق مرتبه دوم تابع y = f(x) = x .e-۳x
f = x*exp(-3*x); diff(f, 2)
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
ans = ۹*x*exp(-3*x) - 6*exp(-3*x)
مثال
در این مثال، یک مساله را حل کنیم. با توجه به اینکه یک تابع (y = f (x) = 3 sin (x) + 7 cos (5x است. ما باید بدانیم که معادله (f “+ f = -5cos (2x درست است یا خیر.
یک فایل اسکریپتی ایجاد کنید و کد زیر را در آن وارد کنید –
syms x y = 3*sin(x)+7*cos(5*x); % defining the function lhs = diff(y,2)+y; %evaluting the lhs of the equation rhs = -5*cos(2*x); %rhs of the equation if(isequal(lhs,rhs)) disp('Yes, the equation holds true'); else disp('No, the equation does not hold true'); end disp('Value of LHS is: '), disp(lhs);
هنگام اجرای فایل، نتیجه زیر نمایش داده می شود –
No, the equation does not hold true Value of LHS is: -۱۶۸*cos(5*x)
یافتن حداکثر و حداقل یک منحنی
اگر ما برای یافتن حداکثر و حداقل منحنی جستجو می کنیم، اساسا به دنبال بالاترین یا پایین ترین نقاط در منحنی یک تابع در یک مکان خاص یا برای یک محدوده خاص از مقادیر متغیر نمادین هستیم.
برای یک تابع (y = f (x نقاط در نمودار که در آن منحنی دارای شیب صفر است، نقاط بدون تغییراست. به عبارت دیگر نقاط ثابت، جایی است که f ‘(x) = 0 است.
برای پیدا کردن نقاط ثابت یک تابع که مشتق می گیریم، باید مشتق را برابر با صفر قرار دهیم و معادله را حل کنیم.
مثال
نقاط ثابت تابع f(x) = 2x۳ + ۳x۲ − ۱۲x + 17 را پیدا کنیم
مراحل زیر را دنبال کنید:
ابتدا به تابع وارد شویم و نمودار آن را رسم میکنیم.
سپس، مشتق آن را محاسبه میکنیم.
g = diff(y)
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
g = ۶*x^2 + 6*x - 12
بگذارید تابع g را برای به دست آوردن مقادیری که آن صفر می شود، حل کنیم.
s = solve(g)
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
s = ۱ -۲
این با نمودار رسم شده توافق دارد. بنابراین بگذارید تابع f را در نقاط بحرانی x = 1، -۲ ارزیابی کنیم. با استفاده از فرمان زیر می توان یک مقدار را در یک تابع نمادین جایگزین کرد.
subs(y, 1), subs(y, -2)
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
ans = ۱۰ ans = ۳۷
بنابراین، حداقل و حداکثر مقادیر در تابع f(x) = 2x۳ + ۳x۲ − ۱۲x + 17، در فاصله [۲،۲-] ، ۱۰ و ۳۷ است.
حل معادلات دیفرانسیل
MATLAB فرمان dsolve را برای حل معادلات دیفرانسیل به صورت نمادین فراهم می کند.
اساسی ترین شکل دستور dsolve برای یافتن راه حل یک معادله است.
dsolve('eqn')
جایی که eqn یک رشته متن است که برای وارد کردن معادله استفاده می شود.
این یک راه حل نمادین را با مجموعه ای از ثابت های دلخواه، که MATLAB برچسب C1، C2 و غیره باز می کند .
شما همچنین می توانید شرایط اولیه و مرزی را برای مساله مشخص کنید، به صورت لیست جدا شده با کاما پس از معادله:
dsolve('eqn','cond1', 'cond2',…)
به منظور استفاده از فرمان dsolve، مشتقات D نشان داده شده اند. به عنوان مثال، یک معادله مانند (f'(t) = -2*f + cost(t به صورت زیر وارد می شود:
‘Df = -2*f + cos(t)’
مشتقات بالاتر با توجه به مرتبه مشتق با استفاده از D نشان داده می شود.
به عنوان مثال معادله f”(x) + 2f'(x) = 5sin3x باید به صورت زیر وارد شود:
‘D2y + 2Dy = 5*sin(3*x)’
یک نمونه ساده از معادله دیفرانسیل مرتبه اول y’ = 5y:
s = dsolve('Dy = 5*y')
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
s = C2*exp(5*t)
مثال دیگر: معادله دیفرانسیل مرتبه دوم y” – y = 0, y(0) = -1, y'(0) = 2 :
dsolve('D2y - y = 0','y(0) = -1','Dy(0) = 2')
MATLAB کد را اجرا می کند و نتیجه زیر را برمی گرداند –
ans = exp(t)/2 - (3*exp(-t))/2