3
下一個腳本應該打印出一個7x7全1矩陣,因爲方程式是滿足的。Matlab矩陣乘法和轉置精度
A = rand(5,7);
B = rand(5,7);
C = (A' * B)';
D = B' * A;
C == D
而是這種回答的:
ans =
1 1 1 1 0 1 1
1 1 1 1 0 1 0
1 1 1 1 1 1 1
1 1 1 1 0 0 0
1 0 1 1 1 1 1
0 0 1 1 1 1 1
0 1 1 0 1 1 1
我認爲這是一個浮點精度的問題,因爲format long
數字在C和D.
- 什麼不同我做錯了嗎?
- 它出錯了?
- 我該如何避免它?
*我認爲這是一個浮點精度問題[*] *。是。因爲'rand'返回浮點數,所以你不應該期望矩陣'C'和'D'完全相等。喜歡'norm(C - D)<= epsilon',其中'epsilon'是一個小的正數。 – Jubobs