Умножение символьной матрицы
матричное произведение A
*B
A
и B
. Если A
m
- p
и B
p
- n
матрица, затем результатом является m
- n
матричный C
заданный как
Для нескалярного A
и B
, количество столбцов A
должен равняться количеству строк B
. Умножение матриц не является универсально коммутативным для нескалярных входных параметров. Таким образом, обычно A*B
не равно B*A
. Если по крайней мере один вход является скаляром, то A*B
эквивалентно A.*B
и является коммутативным.
Создайте 1
- 5
вектор-строка и 5
- 1
вектор-столбец.
syms x A = [x, 2*x^2, 3*x^3, 4*x^4] B = [1/x; 2/x^2; 3/x^3; 4/x^4]
A = [ x, 2*x^2, 3*x^3, 4*x^4] B = 1/x 2/x^2 3/x^3 4/x^4
Найдите матричное произведение этих двух векторов.
A*B
ans = 30
Создайте 4
- 3
матрица и 3
- 2
матрица.
A = sym('a%d%d', [4 3]) B = sym('b%d%d', [3 2])
A = [ a11, a12, a13] [ a21, a22, a23] [ a31, a32, a33] [ a41, a42, a43] B = [ b11, b12] [ b21, b22] [ b31, b32]
Умножьте A
B
.
A*B
ans = [ a11*b11 + a12*b21 + a13*b31, a11*b12 + a12*b22 + a13*b32] [ a21*b11 + a22*b21 + a23*b31, a21*b12 + a22*b22 + a23*b32] [ a31*b11 + a32*b21 + a33*b31, a31*b12 + a32*b22 + a33*b32] [ a41*b11 + a42*b21 + a43*b31, a41*b12 + a42*b22 + a43*b32]
Создайте 4
- 4
Гильбертова матрица H
.
H = sym(hilb(4))
H = [ 1, 1/2, 1/3, 1/4] [ 1/2, 1/3, 1/4, 1/5] [ 1/3, 1/4, 1/5, 1/6] [ 1/4, 1/5, 1/6, 1/7]
Умножьте H
eπ
.
C = H*exp(sym(pi))
C = [ exp(pi), exp(pi)/2, exp(pi)/3, exp(pi)/4] [ exp(pi)/2, exp(pi)/3, exp(pi)/4, exp(pi)/5] [ exp(pi)/3, exp(pi)/4, exp(pi)/5, exp(pi)/6] [ exp(pi)/4, exp(pi)/5, exp(pi)/6, exp(pi)/7]
Использование vpa
и digits
аппроксимировать символьные результаты необходимым количеством цифр. Например, аппроксимируйте его пятиразрядной точностью.
old = digits(5); vpa(C) digits(old)
ans = [ 23.141, 11.57, 7.7136, 5.7852] [ 11.57, 7.7136, 5.7852, 4.6281] [ 7.7136, 5.7852, 4.6281, 3.8568] [ 5.7852, 4.6281, 3.8568, 3.3058]
ctranspose
| ldivide
| minus
| mldivide
| mpower
| mrdivide
| plus
| power
| rdivide
| times
| transpose