第2章導數與微分及MATLAB應用


1.1 diff求導

1.1.1 單變量函數求導

 

MATLAB代碼:

clc;clear;

syms x

f(x) =sin(x^2);

df = diff(f,x)

運行結果:

df(x) =

2*x*cos(x^2)

1.1.2 多變量函數指定變量求導

MATLAB代碼:

clc;clear;

syms x t

diff(sin(x*t^2),t)

運行結果:

ans =

2*t*x*cos(t^2*x)

1.1.3 單變量函數高階求導

MATLAB代碼:

clc;clear;

syms t

d4 = diff(t^6,4)

運行結果:

d4 =

360*t^2

1.1.4 多變量函數指定變量高階求導

MATLAB代碼:

clc;clear;

syms x y

diff(x*cos(x*y), y, 2)

運行結果:

ans =

-x^3*cos(x*y)

1.1.5 多變量函數指定多變量依次求導

案例一

MATLAB代碼:

clc;clear;

syms x y

diff(x*sin(x*y), x, y)

運行結果:

ans =

2*x*cos(x*y) - x^2*y*sin(x*y)

案例二

MATLAB代碼:

clc;clear;

syms x y

diff(x*sin(x*y), x,x,x, y)

運行結果:

ans =

x^2*y^3*sin(x*y) - 6*x*y^2*cos(x*y) - 6*y*sin(x*y)

1.2 泛函數求導

MATLAB代碼:

clc;clear;

syms y(x)

f =y*sin(y);

D= functionalDerivative(f,y)

運行結果:

D(x) =

sin(y(x)) + cos(y(x))*y(x)

1.3 微分形式

微分通過字符串拼接與求導結合實現。

MATLAB代碼:

clc;clear;

syms x

y1=sin(3*x+2);

y2=log(exp(3*x)+2);

y3=exp(3*x)*cos(x);

dy1=[char(diff(y1,x)),'dx']

dy2=[char(diff(y2,x)),'dx']

dy3=[char(diff(y3,x)),'dx']

運行結果:

dy1 =

3*cos(3*x + 2)dx

dy2 =

(3*exp(3*x))/(exp(3*x) + 2)dx

dy3 =

3*exp(3*x)*cos(x) - exp(3*x)*sin(x)dx

1.4 補充:泰勒taylor級數

MATLAB代碼:

clc;clear;

syms x

taylor(exp(x))

taylor(sin(x))

taylor(cos(x))

運行結果:

ans =

x^5/120 + x^4/24 + x^3/6 + x^2/2 + x + 1

ans =

x^5/120 - x^3/6 + x

ans =

x^4/24 - x^2/2 + 1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM