為什麼用matlab算逆矩陣,會出不來呢,數量級也不是太誇張啊,哪位大神能幫我看看

時間 2021-08-11 17:31:11

1樓:匿名使用者

由於你的數值偏小,用inv(a)函式求,矩陣a會被誤認為是接近奇異。結果可能是不準確的。但可以用pinv(a)來求解。結果如下:

>>a=[。。。。。。。] %7×7矩陣

>> vpa(pinv(a))

ans =

[ -0.0028082378796503988487021086228879, -0.0028420087857282789155222157972958, -0.

0028974083724634396193320373669167, -0.0029669574159484355183047377124694, -0.0031144443970727029094569537903681, -0.

0025064982827983171148611418743712, 0.015622518407918140406764884176027]

[ -0.0000019404712378900838716511405984688, -0.0000019638066798041950273786583613944, -0.

0000020020873772584887440690541021704, -0.0000020501452428272607331693425797292, -0.000002152057636684667070415492157176, -0.

0000017319714475838532178431994693057, 0.000010795042632975462246766942819853]

[ -0.00000000254886182564122915772225247996, -0.0000000025795135642077172866531558368189, -0.

0000000026297963030058351898249687113567, -0.0000000026929216184336111098589497598373, -0.0000000028267863236542433004499237349455, -0.

0000000022749916720125912425131831914654, 0.000000014179582532403147302151336106319]

[ -0.0000000000027683341590165891198606024923395, -0.0000000000028016251966291050153372356134692, -0.

0000000000028562375816644635029591975498652, -0.0000000000029247983664190695411919029738617, -0.000000000003070189627898503523560308039717, -0.

00000000000247088213789398847955387748786, 0.00000000001540052987389201049259908712522]

[ -0.00000000000000057995617634180690166453827877244, -0.0000000000000005869305305097534930379210642026, -0.

00000000000000059837163125362629554735262558913, -0.00000000000000061273487220984079669854541432146, -0.0000000000000006431938252254975726137861366593, -0.

00000000000000051764103412766043071403866450375, 0.0000000000000032263563234262135223139021845399]

[ 0.000000000000000013351577756844773864654520845285, 0.000000000000000013512139254033198154709896774451, 0.

00000000000000001377553285588990498180419457757, 0.000000000000000014106199096358002377859386118629, 0.000000000000000014807416009238709211551470046644, 0.

000000000000000011916977177283944761122357941457, -0.000000000000000074276210997862995878765713584407]

[ 0.14369185442551277165357248577493, 0.1454701868343774295855297395974, 0.

14828823915284344847620445762004, 0.15190671765939653403698628153506, 0.15671593353068019593976600845053, 0.

15501985189767641948321852396475, -0.0047035731974279394035365342574551]

2樓:匿名使用者

在計算之前先看看其行列式的值是多少?如果太小了就會被認為是奇異的,建議你在計算之前先將指數冪提取出來,再計算逆矩陣,然後除去該指數冪

3樓:匿名使用者

你的矩陣是奇異的,本身就沒逆矩陣,當然算不出來了

求**中 非方陣的 逆矩陣 有大神可以幫忙用matlab計算嗎

4樓:我行我素

a=[-2072 1;-3580.5 1;-5729.6 1];b=pinv(a)

非方陣沒有逆矩陣,但有偽逆,結果:

b =0.0003 0.0000 -0.00031.3002 0.4532 -0.7534

5樓:匿名使用者

>> a=[-2072 1;-3580.5 1; -5729.6 1]

>> eye(2)/a

ans =

0.0003 0 -0.00031.5665 0 -0.5665

matlab中求逆矩陣怎麼求

6樓:匿名使用者

x=inv(x) 確實是求逆矩陣的正確語句

但是這裡的一個前提是, x必須是方陣, 即行數等於列數

matrix must be square 翻譯過來就是矩陣必須是方的

7樓:匿名使用者

必須是方陣才有逆矩陣,哈哈!

如何用matlab求逆矩陣

8樓:白鯨

第一步:啟動matlab。

第二步:輸入『clear』和『clc』**。(清屏)第三步:根據你的需求設定一個矩陣。(圖中示例設定為矩陣a=[1 2 ;3 4 ],『a』可以定義為你需要的任何字母)

第四步:用**b=inv(a),『b』可以定義為你需要的其他字母,inv()裡的字母為你需要求逆的矩陣。

第五步:驗證自己求解的逆,兩個矩陣的乘積為單位陣,則求逆正確。

9樓:匿名使用者

如果英文好呢,自己看目錄

不好還是先看中文的教材,對matlab的框架和功能有了一定的瞭解後,自己也就看的懂幫助裡面的內容了,以後不懂再自己查幫助

求逆矩陣一般有2種方法:

1、伴隨矩陣法。a的逆矩陣=a的伴隨矩陣/a的行列式。

2、初等變換法。a和單位矩陣同時進行初等行(或列)變換,當a變成單位矩陣的時候,單位矩陣就變成了a的逆矩陣。

第2種方法比較簡單,而且變換過程還可以發現矩陣a是否可逆(即a的行列式是否等於0)。

伴隨矩陣的求法參見教材。矩陣可逆的充要條件是係數行列式不等於零。

簡單的inv()函式求:

a=[4 1 -5;-2 3 1;3 -1 4]a =4 1 -5

-2 3 1

3 -1 4

>> inv(a)

ans =

0.1327 0.0102 0.

16330.1122 0.3163 0.

0612-0.0714 0.0714 0.

1429

10樓:嘻嘻樂了

到底應該怎麼樣去求逆矩陣才好呢?

11樓:du瓶邪

需要在matlab中輸入矩陣a: a=[1 2 3;2 2 1;3 4 3],回車;

輸入:inv(a)或a^-1;回車。

注意:輸入英文字母時要區別大小寫!

12樓:長平

在matlab7.0中求逆被整合為函式inv,可以直接呼叫,操作例項(如果需要可以給你一份清華大學基礎教程):

a=[1 0 0;0 1 0;0 0 1];

b=inv(a)

13樓:憂傷迴盪

clear;

a=input('請輸入a=')

[m n]=size(a)

if m~=n

disp('a不是方陣')

elseif det(a)==0

disp('a不可逆')

else

c=[a,eye(n)]

d=rref(c)

v=d(:,n+1:2*n)end

用matlab求含有未知矩陣的逆矩陣

你的矩陣也不是個方陣,怎麼求逆?隨便編了幾個數,可以求的,只要存在逆矩陣,但結果很複雜 clear all clc syms s a b c d a s,0,0,a i sqrt b 1 c 1 0,s,a i sqrt b c 0 a,b,c,d a b,c,d,a b inv a 直接計算就行 ...

為什麼用冷水洗牙牙會痛,為什麼用冷水刷牙時牙齒會冰疼

牙齒過敏導致的疼痛。因為牙敏感 o 用高露潔能有效預防牙齦過敏。呃,以前書上說用溫水洗牙齒,可以延長牙齦的壽命 問東答西 你好,那就用溫水啊,還有水裡加點鹽 因為你牙齒不好,牙齒過敏。牙齒下部的牙齦會痛,醫學建議用35 60度左右溫度得的水 為什麼用冷水刷牙時牙齒會冰疼 病情分析 一般來說,以下幾種...

用什麼命令取matlab中矩陣的第一列

姬覓晴 第一步 開啟matlab,在命令列視窗中輸入a 1 2 3 4 4 5 6 7 1 2 3 4 按回車鍵建立一個3行4列的矩陣,如下圖所示 第二步 如果我們想獲取矩陣第2行第3列的資料,輸入a 2,3 如下圖所示 第三步 想獲取矩陣第3列的第一個和第三個,輸入a 1 3 3 如下圖所示 第四...