MATLAB中的微分或导数

MATLAB中的微分或导数

函数y=f(x)的微分告诉我们y的值是如何随x的变化而变化的,它也可以称为函数的斜率。

一个函数f(x)相对于x的导数表示为:

MATLAB中的微分或导数

MATLAB允许用户使用diff()方法来计算一个函数的导数。diff()方法的不同语法是:。

  • f’ = diff(f)
  • f’ = diff(f, a)
  • f’ = diff(f, b, 2)

f’ = diff(f)

它返回函数f(x)相对于变量x的导数。

示例 1:

% Create a symbolic expression in variable x
syms x
f = cos(x);
disp("f(x) :");
disp(f);
 
% Derivative of f(x)
d = diff(f);
disp("Derivative of f(x) :");
disp(d);

输出 :

MATLAB中的微分或导数

例子2: 使用subs(y,x,k).

  • subs(y,x,k) ,它给出了函数y在x=k处的值。
% Create a symbolic expression in
# variable x
syms x
f = cos(x);
disp("f(x) :");
disp(f);
 
% Derivative of f(x)
d = diff(f);
val = subs(d,x,pi/2);
 
disp("Value of f'(x) at x = pi/2:");
disp(val);

输出 :

MATLAB中的微分或导数

f’ = diff(f, a)

  • 它返回函数f相对于变量a的导数。
% Create a symbolic expression in variable x
syms x t;
f = sin(x*t);
disp("f(x) :");
disp(f);
 
% Derivative of f(x,t) wrt t
d = diff(f,t);
disp("Derivative of f(x,t) wrt t:");
disp(d);

输出 :

MATLAB中的微分或导数

f’ = diff(f, b, 2)

它返回函数f相对于变量b的双导数。

示例 1:

% Create a symbolic expression in
% variable x,n
syms x n;
f = x^n;
disp("f(x,n) :");
disp(f);
 
% Double Derivative of f(x,n) wrt x
d = diff(f,x,2);
disp("Double Derivative of f(x,n) wrt x:");
disp(d);

输出 :

MATLAB中的微分或导数

用同样的方法,你也可以用diff(f,x,k)计算函数f的k阶导数。

示例 2:

使用subs(y,x,k)评估一个函数在指定数值处的导数。

subs(y,x,k),它给出了函数y在x=k处的值。

% Create a symbolic expression in variable
% u and v
syms u v;
f = u^2;
g = sin(v)*(3*u);
disp("f(u,v) :");
disp(f);
disp("g(u,v) :");
disp(g);
 
% Jacobian matrix of function f(u,v) and
% g(u,v)
J = jacobian([f; g], [u v]);
disp("Jacobian matrix :");
disp(J);
 
% Determinant of Jacobian matrix
d = det(J);
disp("Determinant of Jacobian matrix:");
disp(d);

输出 :

MATLAB中的微分或导数

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程