MATLAB提供用于计较标记导数的diff呼吁。 以最简朴的形式,将要微分的成果通报给diff呼吁作为参数。

譬喻,计较函数的导数的方程式 -

Matlab微分和导数

例子

建设剧本文件并在个中键入以下代码 -

syms t
f = 3*t^2 + 2*t^(-2);
diff(f)

执行上面示例代码,获得以下功效 -

Trial>> syms t
f = 3*t^2 + 2*t^(-2);
diff(f)

ans =

6*t - 4/t^3

以下是利用Octave 计较的写法 -

pkg load symbolic
symbols

t = sym("t");
f = 3*t^2 + 2*t^(-2);
differentiate(f,t)

执行上面示例代码,获得以下功效 -

ans =

6*t - 4/t^3

根基微分法则的验证

下面扼要说明微分法则的各类方程或法则,并验证这些法则。 为此,我们将写一个第一阶导数f'(x)和二阶导数f“(x)

以下是微分的法则 -

法则 - 1

对付任何函数fg,任何实数ab是函数的导数:

h(x) = af(x) + bg(x)相对付x,由h’(x) = af’(x) + bg’(x)给出。

法则 - 2

sum和subtraction法则表述为:假如fg是两个函数,则f'g'别离是它们的导数,如下 -

(f + g)' = f' + g'

(f - g)' = f' - g'

法则 - 3

product法则表述为:假如fg是两个函数,则f'g'别离是它们的导数,如下 -

(f.g)' = f'.g + g'.f

法则 - 4

quotient法则表白,假如fg是两个函数,则f'g'别离是它们的导数,那么 -

Matlab微分和导数

法则 - 5

多项式或根基次幂法则表述为:假如y = f(x)= x^n,则 -

Matlab微分和导数

这个法则的直接功效是任何常数的导数为零,即假如y = k,那么为任何常数 -

f' = 0

法则 - 5

chain法则表述为 - 相对付x的函数h(x)= f(g(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)

执行上面示例代码,获得 以下功效 -

f =
 (x^2 + 3)*(x + 2)

 der1 =
 2*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 =
 (2*x - 2)*(3*x^3 - 5*x^2 + 2) - (- 9*x^2 + 10*x)*(x^2 - 2*x + 1)

 f =
 (2*x^2 + 3*x)/(x^3 + 1)

der4 =
 (4*x + 3)/(x^3 + 1) - (3*x^2*(2*x^2 + 3*x))/(x^3 + 1)^2

f =
 (x^2 + 1)^17

der5 =
 34*x*(x^2 + 1)^16

f =
1/(t^3 + 3*t^2 + 5*t - 9)^6

der6 =
 -(6*(3*t^2 + 6*t + 5))/(t^3 + 3*t^2 + 5*t - 9)^7

以下是对上面示例的Octave写法 -

pkg load symbolic
symbols
x=sym("x");
t=sym("t");
f = (x + 2)*(x^2 + 3) 
der1 = differentiate(f,x) 
f = (t^2 + 3)*(t^(1/2) + t^3) 
der2 = differentiate(f,t) 
f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2) 
der3 = differentiate(f,x) 
f = (2*x^2 + 3*x)/(x^3 + 1) 
der4 = differentiate(f,x) 
f = (x^2 + 1)^17 
der5 = differentiate(f,x) 
f = (t^3 + 3* t^2 + 5*t -9)^(-6) 
der6 = differentiate(f,t)

指数,对数和三角函数的导数

下表提供了常用指数,对数和三角函数的导数,

Matlab微分和导数

例子
建设剧本文件并在个中键入以下代码 -

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)

执行上面示例代码,获得以下功效 -

y =
 exp(x)
 ans =
 exp(x)


y =
x^9
 ans =
 9*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 =
 1/x

y =
 log(x)/log(10)
 ans =
 1/(x*log(10))

y =
 sin(x)^2
  ans =
 2*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

Matlab教程

2017-11-02


MATLAB提供用于计较标记导数的diff呼吁。 以最简朴的形式,将要微分的成果通报给diff呼吁作为参数。譬喻,计较函数的导数的方程式 - 例子建设脚