fsolve函数matlab
时间: 2023-07-31 19:06:35 浏览: 112
MATLAB求解非线性方程组 fsolve
5星 · 资源好评率100%
`fsolve` 函数是 MATLAB 中用于求解非线性方程组的函数。它的语法为:
```matlab
[x, fval, exitflag] = fsolve(fun, x0)
```
其中,`fun` 是一个函数句柄,用于计算非线性方程组的值;`x0` 是一个初始值向量,用于求解方程组;`x` 是解向量;`fval` 是解向量对应的函数值向量;`exitflag` 是标志变量,用于表示求解是否成功。
例如,要求解方程组:
```
x^2 + y^2 - 1 = 0
x - y^2 = 0
```
可以定义函数:
```matlab
function F = myfun(x)
F = [x(1)^2 + x(2)^2 - 1;
x(1) - x(2)^2];
end
```
然后调用 `fsolve` 函数求解:
```matlab
x0 = [1; 1];
[x, fval, exitflag] = fsolve(@myfun, x0);
```
这里的 `@myfun` 表示将函数句柄 `myfun` 作为参数传入 `fsolve` 函数中。
求解结果为 `x = [0.6180; 0.7862]`,`fval = [-2.2204e-16; 0]`,`exitflag = 1`,表示求解成功。
阅读全文