举个简单的例子,假设你有这个矩阵:
M = [omega 1;
2 omega];
并且您需要求解满足条件 det M = 0
的 omega
的值。
您如何在 MATLAB 中执行此操作?
肯定是个简单的东西,但是我还没有找到功能。
最佳答案
对于矩阵可以是任何东西的一般情况,您可能希望创建矩阵的符号表示、计算行列式并求解感兴趣的变量。您可以分别使用函数 SYM 来执行此操作, DET , 和 SOLVE来自 Symbolic Math Toolbox :
>> A = sym('[w 1; 2 w]'); % Create symbolic matrix
>> solve(det(A),'w') % Solve the equation 'det(A) = 0' for 'w'
ans =
2^(1/2)
-2^(1/2)
>> double(ans) % Convert the symbolic expression to a double
ans =
1.4142
-1.4142
也有不同的方法来创建初始矩阵A
。上面,我用一个字符串表达式来完成。但是,我可以改用 SYMS将 w
定义为符号变量,然后像通常在 MATLAB 中那样构造矩阵:
syms w
A = [w 1; 2 w];
现在 A
是一个符号矩阵,就像第一个示例中一样。
关于matlab - 如何求解 MATLAB 中的行列式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1710184/