matlab-非线性方程求根函数及函数曲线绘制

Matlab中提供了很多求解非线性方程(y=f(x))的函数,刚開始使用,真的很困惑。全部。这里依据matlab的help文档对这些函数做一些小小的总结


fsolve函数

用来求解非线性方程组F(x)=0;当中,x是一个向量或者矩阵,F(x)的返回值是一个vector。以下是详细用法(以x0为初始点。利用优化算法寻找函数fun(x)与y=0的交点,即fun(x) = 0的根):

局限性:仅仅能求解距离给定初始值近期的那个根

一个方程的情况

fun=x2+x+1
  • 在新的m文件里,书写该fun的计算函数
function y = fun(x)
    y = x^2+x-6;
end
  • 求解根

初值为-1时:
x = fsolve(@fun,-1)
结果为:result=-3
初值为2时:
x = fsolve(@fun,2)
结果为:result=2

能够看到,当给定的初始值不同一时候。fsolve的返回值不同。这是因为。fsolve返回的是距离给定初始点较近的那个根(fsolve在计算时,由初始点開始。逐步向零点逼近,当找到零点值后,优化停止,所以。这种方式仅仅能返回距离给定初始值x0近期的那个零点)

  • options參数

这里在求解根的时候,全部的优化參数都是使用的默认值,但实际上,优化參数能够通过options进行设置。能够设置详细优化方法(Algorithm)、是否显示每步迭代的结果(Display)、最大迭代步数(MaxIter)等, 设置方法例如以下:
options = optimoptions('','','')
x = fsolve(@fun,2,options )

方程组(以包括两个方程的方程组为例)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值