EigenResults

Решение для собственного значения УЧП и выведенные количества

Описание

EigenResults объект содержит решение задачи о собственных значениях УЧП в форме, удобной для графического вывода и постобработки.

  • Значения собственного вектора в узлах появляются в Eigenvectors свойство.

  • Собственные значения появляются в Eigenvalues свойство.

Создание

Существует несколько способов создать EigenResults объект:

  • Решите задачу о собственных значениях с помощью solvepdeeig функция. Эта функция возвращает решение для собственного значения УЧП как EigenResults объект. Это - рекомендуемый подход.

  • Решите задачу о собственных значениях с помощью pdeeig функция. Затем используйте createPDEResults функция, чтобы получить EigenResults объект из решения для собственного значения УЧП, возвращенного pdeeig. Обратите внимание на то, что pdeeig устаревшая функция. Это не рекомендуется для решения задач о собственных значениях.

Свойства

развернуть все

Mesh конечного элемента, возвращенная как объект FEMesh Properties.

Собственные вектора решения, возвращенные как матрица или трехмерный массив. Решение является матрицей для скалярных задач о собственных значениях и трехмерным массивом для систем собственного значения. Для получения дополнительной информации смотрите Размерности Решений, Градиентов и Потоков.

Типы данных: double

Собственные значения решения, возвращенные как вектор. Вектор в порядке действительной частью собственных значений от самого маленького до самого большого.

Типы данных: double

Функции объекта

interpolateSolutionИнтерполируйте решение для УЧП произвольных точек

Примеры

свернуть все

Получите EigenResults объект от solvepdeeig.

Создайте геометрию для L-образной мембраны. Примените нуль граничные условия Дирихле ко всем ребрам.

model = createpde;
geometryFromEdges(model,@lshapeg);
applyBoundaryCondition(model,'dirichlet', ...
                             'Edge',1:model.Geometry.NumEdges, ...
                             'u',0);

Задайте коэффициенты c = 1, a = 0, и d = 1.

specifyCoefficients(model,'m',0,'d',1,'c',1,'a',0,'f',0);

Создайте mesh и решите задачу о собственных значениях для собственных значений от 0 до 100.

generateMesh(model,'Hmax',0.05);
ev = [0,100];
results = solvepdeeig(model,ev)
              Basis= 10,  Time=   0.37,  New conv eig=  0
              Basis= 11,  Time=   0.41,  New conv eig=  0
              Basis= 12,  Time=   0.46,  New conv eig=  0
              Basis= 13,  Time=   0.50,  New conv eig=  0
              Basis= 14,  Time=   0.53,  New conv eig=  0
              Basis= 15,  Time=   0.54,  New conv eig=  0
              Basis= 16,  Time=   0.56,  New conv eig=  0
              Basis= 17,  Time=   0.58,  New conv eig=  0
              Basis= 18,  Time=   0.61,  New conv eig=  1
              Basis= 19,  Time=   0.63,  New conv eig=  1
              Basis= 20,  Time=   0.65,  New conv eig=  1
              Basis= 21,  Time=   0.68,  New conv eig=  1
              Basis= 22,  Time=   0.70,  New conv eig=  3
              Basis= 23,  Time=   0.73,  New conv eig=  3
              Basis= 24,  Time=   0.77,  New conv eig=  4
              Basis= 25,  Time=   0.79,  New conv eig=  5
              Basis= 26,  Time=   0.81,  New conv eig=  6
              Basis= 27,  Time=   0.84,  New conv eig=  6
              Basis= 28,  Time=   0.87,  New conv eig=  6
              Basis= 29,  Time=   0.89,  New conv eig=  7
              Basis= 30,  Time=   0.92,  New conv eig=  7
              Basis= 31,  Time=   0.95,  New conv eig= 10
              Basis= 32,  Time=   0.98,  New conv eig= 10
              Basis= 33,  Time=   1.02,  New conv eig= 11
              Basis= 34,  Time=   1.05,  New conv eig= 11
              Basis= 35,  Time=   1.08,  New conv eig= 14
              Basis= 36,  Time=   1.11,  New conv eig= 14
              Basis= 37,  Time=   1.13,  New conv eig= 14
              Basis= 38,  Time=   1.17,  New conv eig= 14
              Basis= 39,  Time=   1.19,  New conv eig= 14
              Basis= 40,  Time=   1.22,  New conv eig= 14
              Basis= 41,  Time=   1.24,  New conv eig= 15
              Basis= 42,  Time=   1.27,  New conv eig= 15
              Basis= 43,  Time=   1.30,  New conv eig= 15
              Basis= 44,  Time=   1.33,  New conv eig= 16
              Basis= 45,  Time=   1.36,  New conv eig= 16
              Basis= 46,  Time=   1.38,  New conv eig= 16
              Basis= 47,  Time=   1.42,  New conv eig= 16
              Basis= 48,  Time=   1.44,  New conv eig= 17
              Basis= 49,  Time=   1.49,  New conv eig= 18
              Basis= 50,  Time=   1.70,  New conv eig= 18
              Basis= 51,  Time=   1.74,  New conv eig= 18
              Basis= 52,  Time=   1.77,  New conv eig= 18
              Basis= 53,  Time=   1.81,  New conv eig= 18
              Basis= 54,  Time=   1.86,  New conv eig= 21
End of sweep: Basis= 54,  Time=   1.86,  New conv eig= 21
              Basis= 31,  Time=   2.14,  New conv eig=  0
              Basis= 32,  Time=   2.16,  New conv eig=  0
              Basis= 33,  Time=   2.21,  New conv eig=  0
End of sweep: Basis= 33,  Time=   2.22,  New conv eig=  0
results = 
  EigenResults with properties:

    Eigenvectors: [5597x19 double]
     Eigenvalues: [19x1 double]
            Mesh: [1x1 FEMesh]

Постройте решение для режима 10.

pdeplot(model,'XYData',results.Eigenvectors(:,10))

Figure contains an axes object. The axes object contains an object of type patch.

Введенный в R2016a