开发者社区> 问答> 正文

python fsolve怎么用

python fsolve怎么用

展开
收起
云计算小粉 2018-05-10 20:10:54 7203 0
1 条回答
写回答
取消 提交回答
  • 最方便的语言,最简洁的简介

    非线性方程组的求解
    对于非线性方程组F(X)=0,用fsolve函数求其数值解。fsolve函数的调用格式为:
    X=fsolve('fun',X0,option)
    其中X为返回的解,fun是用于定义需求解的非线性方程组的函数文件名,X0是求根过程的初值,option为最优化工具箱的选项设定。最优化工具箱提供了20多个选项,用户可以使用optimset命令将它们显示出来。如果想改变其中某个选项,则可以调用optimset()函数来完成。例如,Display选项决定函数调用时中间结果的显示方式,其中‘off’为不显示,‘iter’表示每步都显示,‘final’只显示最终结果。optimset(‘Display’,‘off’)将设定Display选项为‘off’。
    例 求下列非线性方程组在(0.5,0.5) 附近的数值解。
    (1) 建立函数文件myfun.m。
    function q=myfun(p)
    x=p(1);
    y=p(2);
    q(1)=x-0.6sin(x)-0.3cos(y);
    q(2)=y-0.6cos(x)+0.3sin(y);
    (2) 在给定的初值x0=0.5,y0=0.5下,调用fsolve函数求方程的根。
    x=fsolve('myfun',[0.5,0.5]',optimset('Display','off'))
    x =
    0.6354
    0.3734
    将求得的解代回原方程,可以检验结果是否正确,命令如下:
    q=myfun(x)
    q =
    1.0e-009 *
    0.2375 0.2957
    可见得到了较高精度的结果

    2019-07-17 22:23:32
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Python系列直播第一讲——Python中的一切皆对象 立即下载
Python 脚本速查手册 立即下载
给运维工程师的Python实战课 立即下载