Знаходження власних значень та власних векторів матриці методом вичерпування в середовищі delphi

Програма знаходить рішення задач на власні значення використовуючи для цього метод вичерпування. Основна ідея даного методу полягає у розв'язку послідовності задач на відшукання максимального по абсолютній величині власного значення та відповідного йому власного вектора деякої матриці. Тобто для знаходження, наприклад, другого власного значення, необхідно, щоб попереднеє власне значення та відповідний йому власний вектор, а також власний вектор транспонованої матриці, вже були відомими. Після цього, згідно алгоритму методу вичерпування, з допомогою даних величин та самої матриці Метод вичерпування на delphi формується деяка матриця Метод вичерпування на delphi (подібна до матриці Метод вичерпування на delphi), максимальним по абсолютній величині власним значенням якої є шукане друге власне значення заданої матриці Метод вичерпування на delphi. Більш детальна інформація про даний метод міститься за посиланням Знаходження власних значень та власних векторів матриці методом вичерпування.

Інтерфейс розглядуваного delphi-проекту нічим не відрізняється від інших проектів рішення задач на власні значення (Степеневий метод на delphi, Метод обертань на delphi та інші). Тобто, для того, щоб отримати шуканий розв'язок, необхідно у відповідні поля форми вказати розмірність матриці, задати точність обчислень, заповнити таблицю значеннями елементів матриці і скористатись кнопкою "Знайти власні значення матриці". Результатом роботи програми буде вивід у правій частині форми (поле виводу результатів) шуканих власних значень матриці та відповідних їм власних векторів.

Інтерфейс delphi-проекту "Знаходження власних значень та власних векторів матриці методом вичерпування"

Інтерфейс delphi-проекту "Знаходження власних значень та власних векторів матриці методом вичерпування"

Скачати delphi-проекту «Знаходження власних значень та власних векторів матриці методом вичерпування».

Матеріал був корисним, поділись в соціальних мережах:

Коментарі

12 коментарів по темі “Знаходження власних значень та власних векторів матриці методом вичерпування в середовищі delphi”
  1. олег пише:

    Чому неправильно виводить власні вектори?

  2. admin пише:

    Доброго вечора Олег. Скажіть будь ласка, які значення власних векторів на Вашу думку є правильними?

  3. олег пише:

    Для матриці

    0 9 12

    1/3 0 0

    0 ½ 0

    максимальне власне число 2, а відповідний власний вектор (24,4,1)

    А в програмі — (0,986, 0,163,0,041)

  4. admin пише:

    Зрозуміло Олег. Тепер скажіть, користуючись якими міркуваннями Ви прийшли до висновку, що отримані з допомогою розглядуваного delphi-проекту значення являються, на відміну від Ваших, неправильними?

  5. олег пише:

    Я пишу курсову по власних значеннях і власних векторах і там є відповіді до заданої матриці.

  6. admin пише:

    Добре Олег, але це не зовсім те, що я хотів почути. Почнемо з означення: ненульовий вектор u, який при множенні на деяку квадратну матрицю A перетворюється в самого ж себе з числовим коефіцієнтом l, називається власним вектором матриці А (Au=lu). Число l називають власним значенням або власним числом даної матриці. І якщо у матриці A розміром, наприклад, nxn існує рівно n власних значень, причому деякі з них (або навіть всі) можуть бути кратними (збіглися), то ситуація з власними векторами дещо інша. Будь-який вектор, який колінеарний вектору u теж буде власним вектором. Далі, нагадаємо собі, умову колінеарності векторів. Отже, два вектора називаються колінеарними, якщо відношення їх координат рівні. Тобто, знайшовши відношення координат вектора отриманого з відповідей, та вектора отриманого з допомогою delphi-проекту робимо висновок, що вони дійсно є колінеарними. Але це ще не все. Далі, підставивши дані вектори у формулу, яка випливає з вищевказаного означення бачимо що тотожність виконується, тобто і один і другий вектор можна приймати в якості шуканого власного вектора.

  7. Крістіна пише:

    Доброго вечора! Підкажіть будь ласка, як за допомогою цієї програми визначити максимальне власне значення? Щоб при натисканні кнопки обчислити було лише максимальне власне значення і відповідний власний вектор?

  8. admin пише:

    Доброго вечора Крістіна. Найпростіший варіант реалізувати задумане, це серед усіх знайдених власних значинь відшукати максимальне і виводити лише його значення.

  9. Крістіна пише:

    Із значенням я зробила, все добре, а як бути з вектором? Їх виводяться 3.

  10. admin пише:

    Знайдені власні значення заданої матриці зберігаються в масиві Vls, розмірності, наприклад, n. Відповідні їм власні вектори — в масиві Vct (розмірності nxn). Якщо, максимальне власне значення, в масиві Vls, міститься під номером k, то Вам потрібно в компоненті Memo1, виводити значення Vls[k], та k-й рядок матриці Vct[k, j] (j=1,2,3,...,n). Все доволі просто. Якщо Вам, якийсь момент виявився незрозумілим, то все описане вище реалізується в delphi-проекті, який міститься за нижче вказаним посиланням:

    Знаходження максимального власного значення та відповідного йому власного вектора методом вичерпування в середовищі програмування delphi.

  11. Крістіна пише:

    Я зрозуміла. Дуже дякую за допомогу!

  12. admin пише:

    Немає за що. Якщо ще виникнуть якісь питання, звертайтесь, допоможемо чим зможемо.

Якщо тобі сподобалась дана тема, залиш свій коментар