《Matlab求解超定方程组实例》由会员分享,可在线阅读,更多相关《Matlab求解超定方程组实例(2页珍藏版)》请在人人文库网上搜索。
1、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。
2、)=-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)*s。
3、in(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(。
4、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。