查看: 1524|回復: 5|關注: 0
打印 上一主題 下一主題

辽宁快乐12软件苹果版: [已解決] 求偽逆矩陣A/B和A*pinv(B)得到結果不同

[復制鏈接]

新手

23 麥片

財富積分


辽宁快乐12预测一号码推荐号码 www.exedlj.com.cn 050


26

主題

77

帖子

0

最佳答案
  1. A=[-1224.95932378974,-27241.2247846994,4599.28169992532,-162.077502925496,5474.66324675808,13024.8743613446,-3021.49957157861,-22969.0896557843,-42728.8201130426,-37541.8681252765,-43898.6659382724,-5110.61429265920];
  2. B=[-1.64991864757949e-07,-5.44824495693987e-06,9.99856339985063e-07,-3.24155005850993e-08,1.09493264935162e-06,2.60497487226893e-06,-6.04299914315722e-07,-4.59381793115686e-06,-5.45764022608522e-07,4.91626374944703e-07,-7.79733187654485e-07,6.97787714146816e-06;6954.57961822427,1376.13341312928,-10433.1815983372,-5622.28371515078,50246.3360881523,-2708.32015514793,-52290.6391508019,-4127.29970561549,16620.0656904669,11130.7021992112,-11097.1606477044,-48.9320364263790;-1,0,0,0,0,0,0,0,0,0,0,0;0,0,-1,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,-1,0,0,0;0,0,0,0,0,0,0,0,0,-1,0,0;0,0,0,0,0,0,0,0,0,0,-1,0;0,0,0,0,0,0,0,0,0,0,0,-1];
  3. x0=[5.00E+09        0.2        400        400        40000        40000        40000        40000];
  4. x=x0-A/B;
  5. x1=x0-A*pinv(B);
復制代碼
得到結果:
  1. x=[-9.53674316406250e-07        0.200000000000000        4.66116034658626e-12        6.08224581810646e-12        -2.18278728425503e-11        -7.27595761418343e-12        3.63797880709171e-11        -2.18278728425503e-11];
  2. x1=[797.738597869873        0.199999603606838        -5.42673319614551e-08        -8.28944394015707e-07        -2.61643435806036e-08        6.48724380880594e-08        2.98365193884820e-07        -3.97121766582131e-08]
復制代碼
x和x1相差較大,也就是,當B不是方陣,求B的偽逆矩陣/和pinv兩種方法得到的結果完全不同,請問這是為什么呢?一個矩陣的偽逆矩陣是唯一的嗎?請教大家,謝謝!

論壇優秀回答者

18

主題

1964

帖子

419

最佳答案
  • 關注者: 81
2#
發表于 2019-2-28 15:10:40 | 只看該作者 |此回復為最佳答案
偽逆是唯一的。你的代碼中,在18b上兩者沒有差別,如下圖,你的代碼的結果可以重復嗎?

多看幫助文檔
說明你的matlab版本

新手

23 麥片

財富積分


050


26

主題

77

帖子

0

最佳答案
3#
 樓主| 發表于 2019-2-28 15:29:30 | 只看該作者
深藍孩童 發表于 2019-2-28 15:10
偽逆是唯一的。你的代碼中,在18b上兩者沒有差別,如下圖,你的代碼的結果可以重復嗎?

...

謝謝您的指點!我用的是2017a版本,這個和版本也有關系是嗎,每次運行結果都是我前面寫出的那個,沒有改變

新手

23 麥片

財富積分


050


26

主題

77

帖子

0

最佳答案
4#
 樓主| 發表于 2019-2-28 15:57:01 | 只看該作者
深藍孩童 發表于 2019-2-28 15:10
偽逆是唯一的。你的代碼中,在18b上兩者沒有差別,如下圖,你的代碼的結果可以重復嗎?

...

我將B粘到EXCEL中,又重新粘回來
  1. A=[-1224.95932378974,-27241.2247846994,4599.28169992532,-162.077502925496,5474.66324675808,13024.8743613446,-3021.49957157861,-22969.0896557843,-42728.8201130426,-37541.8681252765,-43898.6659382724,-5110.61429265920];
  2. B=[-1.65E-07        -5.45E-06        1.00E-06        -3.24E-08        1.09E-06        2.60E-06        -6.04E-07        -4.59E-06        -5.46E-07        4.92E-07        -7.80E-07        6.98E-06
  3. 6.95E+03        1.38E+03        -1.04E+04        -5.62E+03        5.02E+04        -2.71E+03        -5.23E+04        -4.13E+03        1.66E+04        1.11E+04        -1.11E+04        -4.89E+01
  4. -1         0         0         0         0         0         0         0         0         0         0         0
  5. 0         0         -1         0         0         0         0         0         0         0         0         0
  6. 0         0         0         0         0         0         0         0         -1         0         0         0
  7. 0         0         0         0         0         0         0         0         0         -1         0         0
  8. 0         0         0         0         0         0         0         0         0         0         -1         0
  9. 0         0         0         0         0         0         0         0         0         0         0         -1
  10. ];
  11. x0=[5.00E+09 0.2 400 400 40000 40000 40000 40000];
  12. format short g
  13. x=x0-A/B;
  14. x1=x0-A*pinv(B);
復制代碼


得到了x和x1基本相同,但是這到底是因為什么呢
  1. x=[-1900443.99655628        0.199780210809957        -1.17328540110799        -0.332936494794126        -1.43097117519210        -5.24280373227521        5.25606805437565        -23.8686440637830]
  2. x1=[-1899902.28108501        0.199781340482386        -1.17328552976403        -0.332936344634618        -1.43097118192236        -5.24280376804381        5.25606775841879        -23.8686441478785];
復制代碼

論壇優秀回答者

18

主題

1964

帖子

419

最佳答案
  • 關注者: 81
5#
發表于 2019-2-28 16:06:18 | 只看該作者
哈哈哈欠 發表于 2019-2-28 15:57
我將B粘到EXCEL中,又重新粘回來

不知道。。。。。。
多看幫助文檔
說明你的matlab版本

新手

23 麥片

財富積分


050


26

主題

77

帖子

0

最佳答案
6#
 樓主| 發表于 2019-2-28 16:25:09 | 只看該作者
深藍孩童 發表于 2019-2-28 16:06
不知道。。。。。。

謝謝您!非常感謝?。?!
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規則

關閉

站長推薦上一條 /4 下一條

快速回復 辽宁快乐12预测一号码推荐号码 返回列表