MATLAB 求解含多个解的方程组求解

主要介绍非线性方程组求解的各種求解方法,并附有matlab程序

第二章 非线性方程(组)的数值解法的MATLAB程序

本章主要介绍方程根的有关概念,求方程根的步骤确定根的初始近姒值的方法(作图法,逐步搜索法等)求根的方法(二分法,迭代法牛顿法,割线法米勒(Müller)法和迭代法的加速等)及其MATLAB程序,求解非线性方程组求解的方法及其MATLAB程序.

2.1 方程2.1 方程(方程(组)的根及其MATLAB命令 命令

2.1.2 求解方程2.1.2 求解方程(求解方程(组)的solve命令

2.1.3 求解2.1.3 求解多项式求解多项式方程多项式方程(方程(组)的roots命令

如果f(x)为多项式则可分别用如下命令求方程f(x)=0的根,或求导数f'(x)(见表 2-1).

表 2-1 求解多项式方程(组)的roots命令

输入多项式f(x)的系数fa(按降幂排列)运行后输出xk为f(x)=0的全部根.

输入多项式f(x)的系数fa(按降幂排列),运行后输出dfa为多项式f(x)的导数f(x)嘚系数.

输入多项式f(x)的导数f(x)的系数dfa(按降幂排列)运行后输出dfx为多项式f(x)的导数f(x).

如果非线性方程(组)是多项式形式,求这样方程(组)的數值解可以直接调用上面已经介绍过的roots命令.如果非线性方程(组)是含有超越函数则无法使用roots命令,需要调用MATLAB系统中提供的另一个程序fsolve來求解.当然程序fsolve也可以用于多项式方程(组),但是它的计算量明显比roots命令的大.

的数值解其中X和F(X)可以是向量或矩阵.此种方法需要嘗试着输入解X的初始值(向量或矩阵)X0,即使程序中的迭代序列收敛也不一定收敛到F(X)=0的根(见例2.1.8).

将整个程序中有关部分抽出来大體就是这样

目标是让这两个方程组求解均为0从而解出a1与a2

求大佬帮忙看看是什么原因拜谢:'(


matlab solve求解得到多余解一个方程组求解囿唯一解(虽然方程很复杂,但是求解过程中刚好可以约掉一些项,可以推导出解析式),但是matlab的solve求出2组解,有遇到过这种情况的么?为什么?

我要回帖

更多关于 方程组求解 的文章

 

随机推荐