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 ]
[
下一页 ]