首页 > 编程知识 正文

如何用matlab求方程组,用matlab解非线性方程

时间:2023-05-06 13:31:54 阅读:172462 作者:789

如果3358www.Sina.com/f(x )包含三角函数、指数函数或其他超越函数,即为超越方程。

可以根据一、方程组函数图像确定函数的实际根的个数。

迭代步骤:

方程: f(x )=0

构造迭代函数: x=j(x )经过简单变形生成迭代序列(xn1=jj ) xn ),给出n=0,1,迭代初始值x0

思考问题:两个

1 .迭代公式x=j(x )是否唯一?

2 .迭代序列一定会收敛吗?

二、点迭代的步骤与问题例:用点迭代法求解方程x3 -x2 -x-1=0

解:第一步构造迭代函数: x=j(x ) )。

反复示例-Matlab安装程序的第二/三阶段反复初始值对初始值x0=1、xn1=j(xn )、n=0、1、 MATLAB中的x )1)=1进行编程。 y(1)=1; z(1)=1; %初始点fork=1:20x(k1 ) x ) k )3-x ) k )2-1; %j1(x ) y ) k1 )=) y ) k ) y ) k )1) ^ )1/3); %J2(y ) z ) k1 )=1 1/z(k ) k )1/z ) k ) 2; %j3(z ) endx,y,z 三、点迭代举例-函数构造加速迭代收敛

如果x=j(x )迭代没有收敛,则不直接使用j )迭代。

用j(x )和x的加权平均:

h(x )=Lj ) x ) (1- ) l x

http://www.Sina.com/http://www.Sina.com /单变量方程1 )符号方程

f(x )=0

示例1 :求解方程ax2 bx c=0

2 )数值方程

例2 )解方程(x3-2x2=x-1

3 )超越方程

示例3:tan(x )-sin(x ) x )=0

4 )方程

1、方程(组)、f1 )、x )、fn )、x )、x )、…、xn ) solve

solve () F1(x )、(F2 ) x )、…、(fn )、x ) )

例4

2、方程(组)、f1 )、x )、fn )、x )、x )、…、xn ) fsolve

x=f solve (‘fun’,x0 ) )。

四、加速迭代函数

五、MATLAB求解

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

(1)Solve()语句的用法—符号求解

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

http://www.Sina.com/http://www.Sina.com /

解: (1)建立方程的M-函数文件(fun1.m )

函数eq=函数1 (x )

eq(1)=2*x(1)-x )2)-exp )-x(1);

eq(2)=-x )1)2*x )2)-exp(-x )2);

在命令窗口中输入以下命令: [x,Fv]=fsolve(@fun1,[ 0,0 ] )。

%x是方程式的解,fv是与解对应的函数值

输出结果为x=0.5671、0.5671

fzero )语句的使用方法: roots )语句的使用方法例7 :求解多项式方程x9 x8 1=0

多项式: amxm am-1xm-1 … a0=0 roots

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

fun.m

function f = fun(x)

线性方程: AX=b

其中,a是mn次矩阵,b是m维向量。

f(1)=

f

1(

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。