2012-02-09 3 views
3

У меня проблема, как A*x=lambda*x, где A имеет порядок d*d, x имеет порядок d*c и лямбда является константой. A и lambda известны, а матрица x неизвестна. Есть ли способ решить эту проблему в Matlab ?? (Как и собственные значения, но x является матрицей d*c вместо того, чтобы быть вектором).Найти матрицу, которая дает тот же результат при умножении на константу или другую матрицу

ответ

2

Если вы правильно поняли, не обязательно будут решения для x. Если A*x=lambda*x, то любой столбец y из x удовлетворяет A*y=lambda*y, так что столбцы x просто собственные векторы, соответствующие A собственного значения lambda, и будут только какое-либо решение, если lambda в действительности является собственным значение.

От documentation:

[V, D] = ГЦОС (А) производит матрицы собственных значений (D) и собственные векторы (V) матрица А, так что А * V = V * D , Матрица D является канонической формой A - диагональной матрицей с собственными значениями A на главной диагонали. Матрица V является модальной матрицей - ее столбцами являются собственными векторами А.

Вы можете использовать это, чтобы проверить, если lambda является собственным значением, и найти соответствующие собственные векторы.

0

Вы можете преобразовать эту проблему. Напишите x как вектор с помощью x (:) (имеет размер d * c x 1). Тогда A можно переписать в матрицу d * c x d * c, которая имеет c версий A по диагонали.

Теперь это простая проблема с собственными значениями.

0

Его фактически тривиально. Ваше требование состоит в том, что A * X = lambda * X, где X - массив. Эффективно, посмотрите на то, что происходит из-за одного столбца X. Если массив X существует, то это правда, что

A * X (:, я) = лямбда * X (:, я)

И это должно быть верно для ТОЛЬКО значения lambda для всех столбцов X. По существу это означает, что X (:, i) является собственным вектором A с соответствующим собственным значением lambda. Что еще более важно, это означает, что КАЖДЫЙ столбец X имеет такое же собственное значение, как и любой другой столбец.

Таким образом, тривиальное решение этой задачи состоит в том, чтобы просто иметь матрицу X с одинаковыми столбцами, если этот столбец является собственным вектором A. Если собственное значение имеет кратность больше единицы (поэтому существует множество собственных векторов с одинаковыми собственное значение), то столбцы X могут быть любой линейной комбинацией этих собственных векторов.

Попробуйте это на практике. Я выберу некоторые простые матрицы А.

>> A = [2 3;3 2]; 
>> [V,D] = eig(A) 
V = 
    -0.70711  0.70711 
     0.70711  0.70711 
D = 
      -1   0 
      0   5 

Второй столбец V является собственным вектором с собственным числом 5. Мы можем произвольно масштабировать собственный вектор любых постоянным. Итак, теперь выберите вектор vec и создайте матрицу с реплицированными столбцами.

>> vec = [1;1]; 
>> A*[vec,vec,vec] 
ans = 
    5  5  5 
    5  5  5 

Это никого не должно удивлять.

 Смежные вопросы

  • Нет связанных вопросов^_^