好文档 - 专业文书写作范文服务资料分享网站

Matlab求解超定方程组实例(精品文档)

天下 分享 时间: 加入收藏 我要投稿 点赞

Matlab求解超定方程组实例

对于超定方程组,特别是非线性方程组,可以用Matlab基于最小二乘算法来进行求解,例如,求解下列方程组:

一个三个未知数,九个方程的非线性方程组:

cos(x3)*sin(x2)*sin(x1)-sin(x3)*cos(x1)=-0.9944 ; sin(x3)*sin(x2)*sin(x1)+cos(x3)*cos(x1)=-0.0870; cos(x2)*sin(x1)=-0.0606;

cos(x3)*sin(x2)*cos(x1)+sin(x3)*sin(x1)=0.0349; sin(x3)*sin(x2)*cos(x1)-cos(x3)*sin(x1)=-0.8085; cos(x2)*cos(x1)=0.5875; os(x3)*cos(x2)=-0.1001; sin(x3)*cos(x2)=0.5821; -sin(x2)=0.8070; 代码

% By lyqmath function main() clc; clear all; close all;

% cos(x3)*sin(x2)*sin(x1)-sin(x3)*cos(x1)=-0.9944 ; % sin(x3)*sin(x2)*sin(x1)+cos(x3)*cos(x1)=-0.0870; % cos(x2)*sin(x1)=-0.0606;

% cos(x3)*sin(x2)*cos(x1)+sin(x3)*sin(x1)=0.0349; % sin(x3)*sin(x2)*cos(x1)-cos(x3)*sin(x1)=-0.8085; % cos(x2)*cos(x1)=0.5875; % os(x3)*cos(x2)=-0.1001; % sin(x3)*cos(x2)=0.5821; % -sin(x2)=0.8070;

x0 = [0.3 0.4 0.5]

[x, resnorm] = lsqnonlin(@test_fun, x0) F = test_fun(x)

function F = test_fun(x) x1 = x(1); x2 = x(2); x3 = x(3);

F(1) = cos(x3)*sin(x2)*sin(x1)-sin(x3)*cos(x1)+0.9944 ; F(2) = sin(x3)*sin(x2)*sin(x1)+cos(x3)*cos(x1)+0.0870; F(3) = cos(x2)*sin(x1)+0.0606;

F(4) = cos(x3)*sin(x2)*cos(x1)+sin(x3)*sin(x1)-0.0349; F(5) = sin(x3)*sin(x2)*cos(x1)-cos(x3)*sin(x1)+0.8085; F(6) = cos(x2)*cos(x1)-0.5875; F(7) = cos(x3)*cos(x2)+0.1001; F(8) = sin(x3)*cos(x2)-0.5821; F(9) = -sin(x2)-0.8070; 结果 x0 =

0.3000 0.4000 0.5000

Local minimum found.

Optimization completed because the size of the gradient is less than the default value of the function tolerance.

x =

-0.1028 -0.9390 1.7411

resnorm =

5.4490e-009 F =

1.0e-004 *

Columns 1 through 7

0.3522 0.1842 -0.0442 0.1487 0.2260 -0.0936 0.0183

Columns 8 through 9

-0.3600 -0.4160 >>

可以发现,误差在1.0e-004级别,还是可以接受的。

Matlab求解超定方程组实例(精品文档)

Matlab求解超定方程组实例对于超定方程组,特别是非线性方程组,可以用Matlab基于最小二乘算法来进行求解,例如,求解下列方程组:一个三个未知数,九个方程的非线性方程组:cos(x3)*sin(x2)*sin(x1)-sin(x3)*cos(x1)=-0.9944;sin(x3)*sin(x2)*sin(x1)+cos(
推荐度:
点击下载文档文档为doc格式
4cg5j2u2l147le14lopx1jxus0hkxz00vzp
领取福利

微信扫码领取福利

微信扫码分享