在matlab中,我正在尝试将符号矩阵相乘(大小为3X3)。输出显示的矩阵具有一些元素,这些元素本身就是矩阵。为什么有些元素是矩阵?
示例代码:
syms a1 a2 a3
F2 = [a1+0.0003 .0002 .0004; a2+.0003 .0005 .0003; a3+.0003 .0002 .0004];
C2 = F2'*F2;
K = C2^(16/57);
T = inv(K)*C2*inv(K);
S = T - 0.5*T^2 + 0.33*T^3;发布于 2014-11-20 18:48:22
问题似乎出在K = C2^(16/57)上。矩阵的求根不是微不足道的,解决方案并不总是存在的。这就是为什么MATLAB不能解析这个表达式。请尝试以下示例:
A = syms('A',[3,3]); % create 3x3 symbolic matrix
B = A^(1/3); % calculate the 3rd root of A结果将是
ans = matrix([[a1_1, a1_2, a1_3], [a2_1, a2_2, a2_3], [a3_1, a3_2, a3_3]])^(1/3)在你的案例中也会发生同样的事情。如果仔细观察,您将看到S(1,1)中的matrix表达式的格式为matrix(...)^(32/57)
https://stackoverflow.com/questions/27035471
复制相似问题