对非线性方程组求解 您所在的位置:网站首页 matlab矩阵范围限制 对非线性方程组求解

对非线性方程组求解

2023-09-10 14:59| 来源: 网络整理| 查看: 265

要求解的非线性方程,指定为函数句柄或函数名称。fun 函数接受向量 x,并返回向量 F,即在 x 处计算的非线性方程。对于 F 的所有分量,要求解的方程是 F = 0。对于函数文件,函数 fun 可以指定为函数句柄

x = fsolve(@myfun,x0)

其中 myfun 是一个 MATLAB® 函数,例如

function F = myfun(x) F = ... % Compute function values at x

fun 也可以是匿名函数的函数句柄。

x = fsolve(@(x)sin(x.*x),x0);

fsolve 以 x0 参数的形状将 x 传递给目标函数。例如,如果 x0 是 5×3 数组,则 fsolve 将 x 以 5×3 数组的形式传递给 fun。

如果雅可比矩阵也可以计算并且 'SpecifyObjectiveGradient' 选项为 true,设置如下

options = optimoptions('fsolve','SpecifyObjectiveGradient',true)

函数 fun 必须在第二个输出参数中返回 x 处的雅可比值 J,它是一个矩阵。

如果 fun 返回由 m 个分量组成的向量(矩阵)并且 x 的长度为 n,其中 n 是 x0 的长度,则雅可比值 J 是 m×n 矩阵,其中 J(i,j) 是 F(i) 关于 x(j) 的偏导数。(雅可比值 J 是 F 的梯度的转置。)

示例: fun = @(x)x*x*x-[1,2;3,4]

数据类型: char | function_handle | string



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有