В общем случае, когда вашей матрицей может быть что угодно, вы захотите создать символическое представление вашей матрицы, вычислить определитель и найти интересующую переменную. Это можно сделать, используя, соответственно, функции 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
является символической матрицей, как это было в первом примере.