Matlab 自编雅可比矩阵 (jacobi) 函数与官方的Jacobian matrix(雅可比矩阵)函数对比及创新

2023-11-07

0 引言

  最近遇到了一些需要求函数的雅可比矩阵的问题,例如上次发布的 blog:Matlab 最速下降法 实列及代码实现,里面也需要用到求解雅可比矩阵,那篇blog中的雅可比也是自己编写的代码,之前搜过自带的函数 (官方函数叫:jacobian(f,v)1),由于官方的自带的没有自己比较想要的一些功能,那就自己动手这样写出来的函数可以达到自己想要的样子。
  本篇介绍的雅可比矩阵代码是上次那篇的改进升级版,更加的全面。

Matlab 版本 2022b

  1. 句柄函数和符号表达式 (将在第二章内详细讲解)
  2. 求导函数 diff()
  3. symvar()函数
  4. 进阶版(可以选择性了解):varargout,varargin,nargin

1 雅可比矩阵

  对于因变量为一元函数情况下,即 y ( x 1 , x 2 , x 3 , … , x m ) y(x_1,x_2,x_3,\dots,x_m) y(x1,x2,x3,,xm) ,它的雅可比矩阵就是各各个自变量的偏导数组成了导数向量 J F = ( ∂ y ∂ x 1 , ∂ y ∂ x 2 , ∂ y ∂ x 3 , … , ∂ y ∂ x m ) J_F=(\frac{\partial y}{\partial x_1},\frac{\partial y}{\partial x_2},\frac{\partial y}{\partial x_3},\dots,\frac{\partial y}{\partial x_m}) JF=(x1y,x2y,x3y,,xmy)
  对于一函数由 m m m 维自变量 X = ( x 1 , x 2 , … , x m ) T X=(x_1,x_2,\dots,x_m)^T X=(x1,x2,,xm)T 映射到 n n n 维的应变量上,即为 F ( X ) = { f 1 ( X ) , f 2 ( X ) , … , f n ( X ) } T F(X)=\{f_1(X),f_2(X),\dots,f_n(X)\}^T F(X)={f1(X),f2(X),,fn(X)}T ,它的雅可比矩阵为 J F = [ ∂ f 1 ∂ x 1 ∂ f 1 ∂ x 2 ⋯ ∂ f 1 ∂ x m ∂ f 2 ∂ x 1 ∂ f 2 ∂ x 2 ⋯ ∂ f 2 ∂ x m ⋮ ⋮ ⋱ ⋮ ∂ f n ∂ x 1 ∂ f n ∂ x 2 ⋯ ∂ f n ∂ x m ] J_F=\left[\begin{array}{cccc} \frac{\partial f_{1}}{\partial x_{1}} &\frac{\partial f_{1}}{\partial x_{2}} &\cdots & \frac{\partial f_{1}}{\partial x_{m}} \\ \frac{\partial f_{2}}{\partial x_{1}} &\frac{\partial f_{2}}{\partial x_{2}} &\cdots & \frac{\partial f_{2}}{\partial x_{m}} \\ \vdots& \vdots & \ddots & \vdots \\ \frac{\partial f_{n}}{\partial x_{1}} & \frac{\partial f_{n}}{\partial x_{2}} &\cdots & \frac{\partial f_{n}}{\partial x_{m}} \end{array}\right] JF= x1f1x1f2x1fnx2f1x2f2x2fnxmf1xmf2xmfn

只是简单的回顾一下雅可比矩阵的定义,如果想要深入的了解就可以去翻阅高数书

2 matlab中函数表达式两种方法

  在平时书写函数表达式的时候是这样的如: y = sin ⁡ x y=\sin x y=sinx f ( x , y ) = y e x f(x,y)=ye^x f(x,y)=yex F ( x 1 , x 2 ) = [ x 1 2 − x 2 x 2 2 − x 1 ] F(x_1,x_2)=\begin{bmatrix} x_1^2-x_2\\ x_2^2-x_1 \end{bmatrix} F(x1,x2)=[x12x2x22x1]等等一些表达式。那如何在matlab中把它们表示出来,接下来讲两种表达方式:(1)符号表达式,(2)句柄函数。

这一部分细讲需要花一篇来写,这里就是先普及了解一下matlab中有这么个东西就可以了,之后有时间就详细讲这一块内容。

2.1 符号表达式

  在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算;如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象 (可以是常数、变量、表达式)进行运算和处理。

简单来说吧(个人看法),就是定义这个变量是个符号字母,你可以把它当做数字进行各种运算,只是一种不知道数值得一个量。
举得例子是用matlab中的实时在线脚本编写
在这里插入图片描述

首先通过syms 变量1 变量2 ... 变量n定义变量,举个例子

syms x y z

可以看到这样的结果
在这里插入图片描述
接下来编写一些简单得函数表达式 y = sin ⁡ x + z y=\sin x +z y=sinx+z

syms x y z
y=sin(x)+z

看到结果是这样的
在这里插入图片描述

在Matlab 2022b中会有这么一个比较智能的功能,本人是直接从2020b升级到2022b不知道2021的版本有无这些功能,大家可以尝试这些功能非常有趣的。
在这里插入图片描述

x = 1 x=1 x=1代入上述式子应该是 y = sin ⁡ 1 + z y=\sin 1+z y=sin1+z,用到sub()函数实现,代码实现:

syms x y z
y=sin(x)+z
y=subs(y,x,1)

结果为:
在这里插入图片描述

2.2 函数句柄

  函数句柄是一种表示函数的 MATLAB® 数据类型。函数句柄的典型用法是将函数传递给另一个函数。例如,您可以将函数句柄用作基于某个值范围计算数学表达式的函数的输入参数2

函数句柄可以表示命名函数或匿名函数。要创建函数句柄,需要使用 @ 运算符。
例如,创建用于计算表达式 x2 – y2 的匿名函数的句柄:

f = @(x,y) (x.^2 - y.^2);

在这里插入图片描述

相对于上述符号函数只需要一行代码还是相当简单的,但是函数句柄就没有符号函数上面那些功能。

接下来令 x = 1 , y = 2 x=1, y=2 x=1,y=2 结果是 f ( 1 , 2 ) = − 3 f(1,2)=-3 f(1,2)=3,只需要天加一句代码就能计算函数值,非常简单。

f = @(x,y) (x.^2 - y.^2);
f(12)

在这里插入图片描述
可以看到这个写法非常符合平时学数学将变量值代入得写法,感觉这点matlab做的非常的人性化

2.3 函数句柄与符号表达式相互转化

  函数句柄与符号表达式都有自己的优缺点,这个需要根据自己体会使用才知道两者中那个会比较适合自己的在编写代码的过程带来便捷,直观。对我个人而言我程序会使用两者,比如在带入点坐标时会使用句柄函数,比如要展现表达式的时候我会更倾向于这个符号表达式。

  • 函数句柄 ⟶ \longrightarrow 符号表达式:直接使用sym()函数即可。举个例子如下:
f = @(x,y) (x.^2 - y.^2)
f1 = sym(f)

在这里插入图片描述

  • 符号表达式 ⟶ \longrightarrow 函数句柄:直接使用matlabFunction()函数即可。举个例子如下:
f = @(x,y) (x.^2 - y.^2)
f1 = sym(f)
f2 = matlabFunction(f1)

在这里插入图片描述

  • 字符串 ⟶ \longrightarrow 符号表达式:直接使用str2sym()函数即可。举个例子如下:
f = 'x.^2 - y.^2'
f1 = str2sym(f)

在这里插入图片描述

  • 注意: 字符串不能直接转化为句柄函数的,步骤需要:字符串 ⟶ \longrightarrow 符号表达式 ⟶ \longrightarrow 函数句柄

2.4 常会用到的一些函数

函数 作用
str2sym() 将字符串转化为符号表达式
matlabFunction() 将符号表达式转化为函数句柄形式
subs() 使用新变量替换符号表达式中的某些旧变量
char() 将符号表达式转化为字符串
double() 将sym格式转化为浮点型(比如对一个sym格式的式子求解然后求出来的结果是个sym格式,可以通过此函数转为浮点型)好用
isa(变量,‘sym’) 判断变量是否为sym格式
symvar() 确定表达式中的符号变量
diff() 求导函数

3 自编代码

[J,Jf,var,jx] = Jacobi(f,_) : 此函数为雅可比函数,在编写函数过程使用了varargoutvarargin,前者可以不固定函数输出个数,后者为不固定函数输入参数。

代码链接放到了文章最后,存放到了个人的GitHub中

输入:

  • 输入参数f可以是字符串形式 / 符号函数形式;
  • 输入参数必须有f,其中_处可以有输入参数也可以没有参数。
    • 若没有输入参数,函数使用时为[J,Jf,var] = Jacobi(f)
    • 若输入为x0,函数使用为[J,Jf,var,jx] = Jacobi(f,x0)

输出:

  • 有四个输出分别为:
    • J 函数f雅可比矩阵(符号表达式形式展现);
    • Jf 函数f雅可比矩阵(句柄函数形式展现);
    • var为函数f中的变量(字符串形式展现,以元胞数组(cell)形式存放中,n × 1维);
    • jx为在某点 x 0 x_0 x0处的雅可比矩阵(double),当有输入x0的话才会有输出jx

本函数常用形式:

  • J = Jacobi(f)
  • [J,Jf] = Jacobi(f)
  • [J,Jf,var] = Jacobi(f)
  • [J,Jf,var,jx] = Jacobi(f,x0)
  • [~,Jf,var,jx] = Jacobi(f,x0),当不想某些参数出现时可以使用~符号。
  • [~,~,~,jx] = Jacobi(f,x0),如果只想得到最后jx可以这样写。
function varargout=Jacobi(f,varargin)
% 求函数表达式雅可比矩阵 J
% 输出:
%       输出1:符号表达式
%       输出2:句柄函数
%       输出3:变量
%       输出4:若输入点x0, 输出带入点后的值
% @Author     
% Copyright© 2022.10.18 CSDN name: cugautozp
    [x,f]=fx(f);
    n=nargin(f); % 找到输入参数个数
    df=[];        
    for i =1:n
        df1 = diff(f,x(i));
        df = [df,df1];
    end
%     J=matlabFunction(df);    
    varargout{1}=df;                       % 输出为符号表达式
    varargout{2}=matlabFunction(df);       % 输出为句柄函数
    for i=1:length(x)
            s{i}=char(x(i));
    end
    varargout{3}=s;                        % 输出变量
    if ~isempty(varargin)
        varargout{4}=Jx(df,s,varargin{1}); % 输出代入点后的值 
    end
end

function [x,f]=fx(f)
% 将用字符串写的函数表达式转化为句柄函数    
    if  ~isa(f,'sym')            % 判断f是否为符号函数格式。
        if iscolumn(f)
            f=str2sym(f);
        else
            f=str2sym(f');
        end                 
    end 
    x=symvar(f);             % 搜寻函数中的符号变量
    f=matlabFunction(f);
end

function Jk=Jx(J,x,x0)
% 将点 x0 代入雅可比矩阵 J 中求值
% 输出格式为:矩阵值
    n=nargin(matlabFunction(J));
    if n==0
        Jk=double(J);
    else
        a=symvar(J);  % 找雅可比矩阵中的符号变量
        for i=1:length(a)
            s=char(a(i));
            idx(i) = find(strcmp(x,s));
        end
        Jk = subs(J,a,x0(idx));
        Jk = double(Jk);
    end   
end

举几个示例

  1. 求以下函数形式的雅可比矩阵
    F ( x , y , z ) = ( x 2 + y 2 + z 2 y z c o s ( x ) x z s i n ( y ) x y z ) F(x,y,z) = \begin{pmatrix} x^2+y^2+z^2\\ y^zcos(x)\\ x^zsin(y)\\ x^{y^z} \end{pmatrix} F(x,y,z)= x2+y2+z2yzcos(x)xzsin(y)xyz
    使用字符串形式作为函数 f 输入
f={'x^2+y^2+z^2','y^z*cos(x)','x^z*sin(y)','x^(y^z)'};
[J,Jf,var] = Jacobi(f)

输出结果:
在这里插入图片描述
2. 求以下函数形式的雅可比矩阵和在点(1,2,3)处的结果
F ( X ) = ( z e x y x y z ) F(X) = \begin{pmatrix} ze^{x^y}\\ x\\ y\\ z \end{pmatrix} F(X)= zexyxyz
使用了符号函数形式写出 f

syms x y z
f=[z*exp(x^y);x;z;y]
x0=[1,2,3];
[J,Jf,var,jx] = Jacobi(f,x0)

输出结果:
在这里插入图片描述

4 官方函数

官方的雅可比函数jacobian(f,v)只能求出雅可比矩阵,无法求出某点处的雅可比矩阵值。其中V为变量向量
功能比较少,使得使用时候有些功能不是很全,不能满足个人想使用的要求。
举个例子

syms x y z
f=[z*exp(x^y);x;z;y]
J = Jacobi(f)
j1 = jacobian(f,[x,y,z])

结果展示
在这里插入图片描述

5 参考文献

相关代码文件:
GitHubcode


  1. Jacobian matrix - MATLAB jacobian - MathWorks 中国 ↩︎

  2. 函数句柄 - MATLAB & Simulink - MathWorks 中国 ↩︎

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab 自编雅可比矩阵 (jacobi) 函数与官方的Jacobian matrix(雅可比矩阵)函数对比及创新 的相关文章

  • 如何从矩阵的每一行中减去一个向量? [复制]

    这个问题在这里已经有答案了 可能的重复 如何将矩阵的每一行除以固定行 https stackoverflow com questions 4723824 how can i divide each row of a matrix by a
  • 如何绘制 NxN 圆数组?

    我想绘制一个 NxN 的圆数组 为了形象化 我附上了我想要实现的目标的图像 我是 MatlLab 的新手 所以我尝试先绘制一个圆 下面是示例代码 n 2 10 size of mask M zeros n I 1 n x I n 2 mas
  • 在 MATLAB 中分析 wav 文件

    所以我有这个钢琴录音 wav 格式 我能够做一个FFT整体记录并识别频率 然而 根据我读过的一些文章 最好将 wav 文件分解为多个窗口 其中每个窗口都包含一个特定的音符 为此 我需要首先绘制时域信号的 功率包络 考虑音符平均能量概念 因此
  • 在 Matlab、VB6 和 VB.NET 程序之间发送消息的最简单方法

    我们正在将一套数据采集和分析例程从 VB6 程序升级为 VB NET VB6 和 Matlab 程序的混合体 我们希望保持系统模块化 单独的 EXE 以便我们可以轻松创建专门的独立分析程序 而无需不断升级大型应用程序 当所有程序都是用 VB
  • MATLAB:解包函数

    我正在与 Mathworks 的某人讨论 unwrap http www mathworks com access helpdesk help techdoc ref unwrap html函数中对于 以外的跳跃容差有一个 bug 并且希望
  • 如何在 R 中导入 matlab 表

    我有一个matlab mat文件与表数据类型我想将其导入 R 中 我为此使用 readMat R 正在将其作为列表读取 之后有没有办法将列表转换为 R 中的数据帧或表格格式 当我使用as dataframe我收到以下错误 Error in
  • MATLAB:涉及大数的计算

    如何在 MATLAB 中执行涉及大量数字的计算 举一个简单的例子 任意精度计算器将显示 1 120 132 370 260 约为 1 56 但 MATLAB 无法执行此类计算 power 120 132 factorial 370 fact
  • 朴素分类器 matlab

    在 matlab 中测试朴素分类器时 即使我在相同的样本数据上进行训练和测试 我也会得到不同的结果 我想知道我的代码是否正确 是否有人可以帮助解释这是为什么 dimensionality reduction columns 6 U S V
  • 有没有办法在 Visual Studio 或 MATLAB 中“映射”程序执行顺序?

    我所说的 地图 是指我有一个 主 函数 它调用内部的许多其他程序 我希望能够看到哪个文件首先运行 第二个 第三个等等 基本上 我希望能够请参阅这个大型 OOP 设计程序 创建者没有为其制作 UML 类图 中的依赖项列表和顺序 以帮助破译代码
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 使用 varargin (...) 时如何显示不同的函数用法?

    当您输入 Matlab 函数名称并打开大括号时 例如sum 在命令窗口中 将打开一个工具提示 显示此函数的所有可能用法 当我编写自己的接受函数时varargin 工具提示仅显示一个选项 而不是varargin puts e g myfunc
  • MATLAB 在 MATLAB 7.10.0 学生版中似乎找不到 csaps()

    我有一些代码使用csaps Matlab的三次平滑样条拟合函数 http www mathworks com help toolbox curvefit csaps html我想将其提供给使用 MATLAB 7 10 0 R2010a 的学
  • MATLAB 是否已有 YAML 库/解析器?

    我想使用 YAML 跨多种语言交流一些数据 将其视为 与语言无关的序列化 其中一种语言是 MATLAB 但我似乎找不到该语言的 YAML 库 我在 Google 上检查了 matlab yaml 和 matlab yaml parse 似乎
  • Matlab 的快速 JSON 解析器

    您知道 Matlab 中有一个非常快速的 JSON 解析器吗 目前我正在使用JSONlab http www mathworks com matlabcentral fileexchange 33381 jsonlab a toolbox
  • 图像增强 - 从书写中清除给定图像

    我需要清理这张照片 删除 清理我 的字样并使其变亮 作为图像处理课程作业的一部分 我可能会使用 matlab 函数 ginput 来查找图像中的特定点 当然 在脚本中您应该对所需的坐标进行硬编码 您可以使用 conv2 fft2 ifft2
  • 在 matlab/octave 中将数据集分成两个子集 [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 将数据集分为两个子集 例如 训练 和 测试 其中 训练集包含 80 的数据 测试集包含剩余的 20 分裂的意思是生成一个长度等于的逻辑索引
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 如何读取 10 位原始图像?其中包含 RGB-IR 数据

    我想知道如何从我的 10 位原始 它有 rgb ir 图像数据 数据中提取 RGB 图像 如何使用 Python 或 MATLAB 进行阅读 拍摄时的相机分辨率为 1280x720 室内照片图片下载 https drive google c
  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • Matlab 编辑器不使用 emacs 快捷方式

    Is there some way I can make the matlab integrated editor not use emacs shortcut but use more normal shortcuts such that

随机推荐

  • 使用PowerDNS实现内网DNS解析

    部署环境 公司内部安装powerdns实现局域网服务dns解析 避免通过ip访问 系统 CentOS 7 9 mysql版本 5 7 33 pdns版本 4 4 1 pdns recursor版本 4 4 2 PowerDNS admin版
  • ARTS挑战打卡的100天,我学到了这些

    前言 知道ARTS打卡计划是来源于陈皓的极客时间教程 在大学期间就知道了陈皓 左耳朵耗子 骨灰级程序员 差不多就是看着他的博客成长 后来在极客时间上发现了他的课程 就买下来了 现在学习了75 过程中发现了ARTS打卡计划 一直不敢尝试 一个
  • 第二课:变量和数据类型

    第二课 变量和数据类型 一 了解什么是变量 为什么需要它 1 计算机中的内存分类 1 RAM 运行时存储 我们的计算机程序在运行的时候 数据就会临时存储在RAM中 如果不持久化 或着突然断电 它的数据就丢失了 2 ROM 只读存储 持久化存
  • css伪元素实现方框上面打钩

    html p class skill three con item frame p css skill three con item frame width 36px height 36px background transparent b
  • 深入浅出SQL(7)-ALTER

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 ALTER 改写历史 使用ALTER命令 可以修改表 对其套用新的设计方法 且不会影响现有数据 本章还会学到规范化的意义 我们要规范化我们的表 由于重新建了本地数据库
  • unity2d物理系统在安卓闪退的坑

    记录下2d物理系统安卓闪退的坑 之前的2d横版动作游戏和现在的幸存者游戏都出现过同样的问题 通过一步一步的排查 确定是Unity Project Setting Physics 2D Auto Sync Transfroms 这里勾选上的问
  • c盘清理

    https jingyan baidu com article ea24bc39ebefadda62b33180 html 转载于 https www cnblogs com zach0812 p 11557586 html
  • 神舟笔记本进入BIOS的方法

    最近整了一个i9 8950h的神舟笔记本 默认预装的是windows 10 总结一下进入BIOS的方法 方法一 重启电脑 黑屏的时候 不断按F2键 这个方法的优点是操作简单 缺点是有时候会进不去 直接进入桌面 方法二 系统设置 gt 更新和
  • IDEA工作常用快捷键

    ide快捷键 Intellij IDEA 移动光bai标du到行尾的快捷键是End Intellij IDEA 移动光标到行首的快捷键是Home Home End键的意思是开头 结尾 在记事dao本或word等其他文本工具中也有同样的效果
  • Java的Integer.valueOf()初窥

    前言 今天在做题时 碰到了一道选择题 就是关于Integer valueOf 的知识 题目如下 A System out println i01 i02 B System out println i01 i03 C System out p
  • js string转json有斜杠_详解json串反转义(消除反斜杠)

    JSon串在被串行化后保存在文件中 读取字符串时 是不能直接拿来用JSON parse 解析为JSON 对象的 因为它是一个字符串 不是一个合法的JSON对象格式 例如下面的JSON串保存在文件中 读出来不能直接解析 resourceId
  • C++类模板的特化(三)

    本文主要介绍类模板的特化 局部特化和缺省模板实参 1 类模板的特化 类模板的特化 Class Template Specialization 是指为特定的模板参数提供自定义实现的过程 通过特化 我们可以针对某些特定的类型或条件提供不同的行为
  • Java分页工具类

    通用分页工具类 import java io Serializable import java util List b 分页通用类 b author hcw param
  • 自定义同步器

    自定义同步器 假如你想要实现一个自定义同步器 官方推荐的做法是将继承了AQS类的子类作为自定义同步器的内部类 而自定义同步器中相关的操作只需代理成子类中对应的方法即可 往下用一个简单的例子看看如何实现自己的锁 由于同步器被分为两种模式 独占
  • [USACO

    网址链接或者是链接 题目描述 After spending so much time around his cows Farmer John has started to understand their language Moreover
  • 域用户登录的方式-使用登录主名和登录名登录

    1 1 1 域用户登录的方式 以下演示域用户使用登录名或登录主名在域中的计算机上登录 销售部的域用户账号 王瑞胜 在销售部的计算机Sales上登录 默认显示上次登录过的帐户 点击 切换用户 点击 其他用户 使用登录名登录 输入ESS wan
  • C++类型擦除

    转自 http www cnblogs com liyiwen archive 2009 12 10 1621451 html 关于类型擦除 在网上搜出来的中文资料比较少 而且一提到类型擦除 检索结果里就跑出很多 Java 和 C 相关的文
  • 使用Clang作为编译器 —— Assembling a Complete Toolchain

    装配一个完整的工具链 1 介绍 2 工具 2 1 Clang 前端 2 2 其他语言的语言前端 2 3 汇编器 2 4 链接器 3 运行时库 3 1 编译器运行时 Compiler runtime 3 2 原子库 Atomics libra
  • maven学习笔记 maven的安装和配置

    maven是什么 maven是一个Java项目管理工具 maven提供了大量命令行工具 可以方便的管理java项目建立 开发 测试 打包 生成 部署等各个生命周期的操作 极大的方便开发者 同时 maven还提供了统一的项目结构 简化了项目的
  • Matlab 自编雅可比矩阵 (jacobi) 函数与官方的Jacobian matrix(雅可比矩阵)函数对比及创新

    目录 0 引言 1 雅可比矩阵 2 matlab中函数表达式两种方法 2 1 符号表达式 2 2 函数句柄 2 3 函数句柄与符号表达式相互转化 2 4 常会用到的一些函数 3 自编代码 4 官方函数 5 参考文献 0 引言 最近遇到了一些