打字猴:1.70101128e+09
1701011280 同样采用计算机计算上述四元一次方程组:
1701011281
1701011282
1701011283
1701011284
1701011285 编程求解如下:
1701011286
1701011287     clc,clear,close all         %清屏和清除变量    warning off                 %消除警告    format rat;    A = [3 2 -1 4;              %方程系数矩阵        3/8 1 -1/8 1/4;        1 -1 1/2 -1;        1/2 -1 1/3 -1/6];    B1 = [-4,-1,7/2,2]’;        %方程右边b矩阵    x1 = gauss_x(A,B1)
1701011288
1701011289 运行程序输出结果如下:
1701011290
1701011291     x1 =           1          -1           1          -1
1701011292
1701011293 和手工计算是一样的。
1701011294
1701011295 因此可知,采用计算机求解,只需要简单输入方程组的系数,即可很快地求解方程组的根,效率大大提高。21世纪,计算机带给人们求解大规模方程组提供了便利,使得人们对控制器设计更加精准。
1701011296
1701011297 【问题】对于一个非线性方程组,如何求其根呢?
1701011298
1701011299 【分析】
1701011300
1701011301 线性方程组求解,对于我们而言,可以轻易地求解了,但是如果方程组是非线性的呢?方程组不能消元,怎么办?
1701011302
1701011303 对于非线性方程组计算,计算机采用根查询方法,按照方程的下降梯度进行方程根的逼近,使得求解的根尽可能地去逼近每一个方程,从而实现方程组的求解,即采用数值计算方式给出一种合理的方程根,方程的根并不一定精确的满足每一个方程,但是在一定的精度范围内是可以接受的。
1701011304
1701011305 考虑如下非线性系统:
1701011306
1701011307
1701011308
1701011309
1701011310 将该非线性方程组化为标准形式:
1701011311
1701011312
1701011313
1701011314
1701011315
1701011316 设初值点为。
1701011317
1701011318 先建立方程函数文件,并保存为myfun.m:
1701011319
1701011320     function F = myfun(x)    F = [2*x(1) - x(2) - exp(-x(1));          -x(1) + 2*x(2) - exp(-x(2))];
1701011321
1701011322 然后调用优化程序:
1701011323
1701011324     clc,clear,close all                        %清屏和清除变量    warning off                                %消除警告    x0 = [-5; -5];                             %初始点    options=optimset(‘Display’,‘iter’);        %显示输出信息    [x,fval] = fsolve(@myfun,x0,options)       %方程求解
1701011325
1701011326 运行程序输出结果如下。
1701011327
1701011328     x =        0.5671        0.5671    fval =      1.0e-008 *       -0.5320       -0.5320
1701011329
[ 上一页 ]  [ :1.70101128e+09 ]  [ 下一页 ]