用matlab解方程组的问题,五个方程求解四个未知数.方程:-查字典问答网
分类选择

来自郝鹏威的问题

  用matlab解方程组的问题,五个方程求解四个未知数.方程:x+10496.108*y+10496.108^2*z+10496.108^3*t=-3043766.03x+10500.275*y+10500.275^2*z+10500.275^3*t=-3042809.53x+10504.442*y+10504.442^2*z+10504.442^3*t=-3041787.84x+10508.609*y+10

  用matlab解方程组的问题,五个方程求解四个未知数.

  方程:x+10496.108*y+10496.108^2*z+10496.108^3*t=-3043766.03

  x+10500.275*y+10500.275^2*z+10500.275^3*t=-3042809.53

  x+10504.442*y+10504.442^2*z+10504.442^3*t=-3041787.84

  x+10508.609*y+10508.609^2*z+10508.609^3*t=-3040701.05

  x+10512.776*y+10512.776^2*z+10512.776^3*t=-3039549.25

3回答
2019-10-24 21:56
我要回答
请先登录
陶志红

  方程数大于未知量个数,属于超定方程组,一般没有精确解,只能求最小二乘解.matlab中可以利用左除或伪逆法求解.

  clear

  c1=10496.108;c2=10500.275;c3=10504.442;c4=10508.609;c5=10512.776;

  A=[1,c1,c1^2,c1^3;1,c2,c2^2,c2^3;1,c3,c3^2,c3^3;1,c4,c4^2,c4^3;1,c5,c5^2,c5^3;];

  B=[-3043766.03;-3042809.53;-3041787.84;-3040701.05;-3039549.25];

  xyzt=pinv(A)*B%伪逆法求解

  %xyzt=AB%左除法

  xyzt=

  1.0e+004*

  0.0005

  1.8316

  -0.0004

  0.0000

2019-10-24 21:59:41
郝鹏威

  可是我把xyzt的数值带进去返算的结果不对啊???

2019-10-24 22:03:42
陶志红

  结果是对的,我既然放出答案,当然自己有验证过。我估计你是直接吧上面的结果带进去?上面是MTALAB默认的显示格式,只显示5位有效数字的。你再试试:xyzt=5.23100511918316.49731-3.594164210.0001735367694

2019-10-24 22:06:43

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •