2 回答

TA貢獻1805條經(jīng)驗 獲得超9個贊
另一種方法是創(chuàng)建一個置換矩陣來從向量中提取已知和未知的行。這種方法有點復(fù)雜,但對程序員更友好:
說你的情商。系統(tǒng)是:
K . T = Q
其中K是3x3,和T和Q是3x1矢量。您可以創(chuàng)建一個置換Pf矩陣,當(dāng)它乘以 時T,結(jié)果是T矩陣的未知部分(只有 T2),在您的情況下,置換矩陣將是一個1x3矩陣:
Pf = [0 1 0]
|100|
Tf = Pf * T = [0 1 0]* |T2 | = [T2]
|0 |
另一個置換矩陣將從矩陣中獲取已知部分T,在您的情況下,它將是一個2x3矩陣:
| 1 0 0|
Ps = | 0 0 1|
Ts = Ps * T = | 1 0 0| |100| |100|
| 0 0 1| *| T2| = |0 |
|0 |
現(xiàn)在一切都準(zhǔn)備好了,你可以假設(shè)系統(tǒng)是這樣的:
K . T = Q
K = |Kff Kfs|
|Kfs Kss|
Q = |Qf|
|Qs|
T = |Tf|
|Ts|
其中f是未知右側(cè)的s前綴,而前綴是已知右側(cè)。你可以找到Pf, Ps, Qf, Qs, Kff, Kfs,Ksf和Kss這樣的:
Tf = Pf * T
Tq = Ps * T
Qf = Pf * Q
Qq = Ps * Q
Kff = pf * K * pf` (note: ` denotes the transpose)
Kfs = pf * K * ps` (note: ` denotes the transpose)
Ksf = ps * K * pf` (note: ` denotes the transpose)
Kss = ps * K * ps` (note: ` denotes the transpose)
現(xiàn)在未知向量Tf,Qs需要找到:
K . T = Q
|Kff Kfs| |Tf| = |Qf|
|Kfs Kss| |Ts| |Qs|
意思是:
Kff * Tf + Kfs * Ts = Qf
Kfs * Tf + Kss * Ts = Qs
從第一個:
Tf = Kff^-1 * (Qf - Kfs * Ts)
用上面的等式你可以找到Tf(注意所有右邊都是已知的矩陣和向量,所以需要進行數(shù)值運算)
從第二個開始:
Qs = Kfs * Tf + Kss * Ts
這樣既Qs和Tf都找到了。找到Tfand 后Qs,您可以這樣做以形成原始T和Q矩陣:
Q = Ps` * Qs + Pf` * Qf
T = Ps` * Ts + Pf` * Tf

TA貢獻1909條經(jīng)驗 獲得超7個贊
我會寫下你的線性方程并重塑它,這樣你就只有一個帶有未知變量的向量。例如,上面的方程組等于:
可以重寫:
這導(dǎo)致:
| -1 -1 0| | T2 | | 100 |
| 2 0 0| . | q1 | = | 100 |
| -1 0 -1| | q3 | | 0 |
添加回答
舉報