作业帮 > 综合 > 作业

用matlab表达矩阵A(6乘6的矩阵),然后算det(A)的时候报错了.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/06/06 11:38:32
用matlab表达矩阵A(6乘6的矩阵),然后算det(A)的时候报错了.
是符号形式的矩阵
syms a b c d e f g h
A=[ ; ; ; ; ; ;] 写的是一个6乘6的矩阵,每一行每一列都是abcdefgh组成的多项式,每一项都比较长,比如:[(c+d+e+f+g+h)*(a+b)*((a+b+c+d+e+f+g+h)^2-(a+b)^2-(c+d+e+f+g+h)^2) 这是一项.
然后我输入好了之后,它显示成:
A=[ ]
[ ]
这样的形式,然后,我输入det(A),过了一会就报错了.
Warning:Uninitialized variable 'result' used; 我也不知道什么没定义
during evaluation of 'linalg::det'
如果是一个简单的A=[a b c d e f g;...;] 6乘6的就可以很简单的算出来.
% 给个思路,不知道能否解决你的问题
syms a1 a2 a3 a4 a5 a6;
syms b1 b2 b3 b4 b5 b6;
syms c1 c2 c3 c4 c5 c6;
syms d1 d2 d3 d4 d5 d6;
syms e1 e2 e3 e4 e5 e6;
syms f1 f2 f3 f4 f5 f6;
A =[a1 a2 a3 a4 a5 a6;
b1 b2 b3 b4 b5 b6;
c1 c2 c3 c4 c5 c6;
d1 d2 d3 d4 d5 d6;
e1 e2 e3 e4 e5 e6;
f1 f2 f3 f4 f5 f6]
R = det(A);
syms a b c d e f g h;
a1 = (c+d+e+f+g+h)*(a+b)*((a+b+c+d+e+f+g+h)^2-(a+b)^2-(c+d+e+f+g+h)^2);
...
f6 = ...
R = subs(A)
再问: 你好,你这里写subs是因为我要解的是符号解,所以中间过程多了一个类似于替换的步骤?我matlab不是很懂。
再答: % 第一步 将 6×6 的符号矩阵的行列式求出,结果是一个符号关系式 R = det(A) % 第二步 符号替换符号 subs(R) % 第三部 化简 simple(R)
再问: 试过了,不会报错了,非常感谢。 因为我最终要的是det(A),所以我把R=subs(A)改成了R=subs(det(A))。