exponenta event banner

EigenResults

Раствор собственных значений PDE и производные количества

Описание

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

  • Значения собственных векторов в узлах отображаются в Eigenvectors собственность.

  • Собственные значения отображаются в Eigenvalues собственность.

Создание

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

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

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

Свойства

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

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

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

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

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

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

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

interpolateSolutionИнтерполяция PDE-решения в произвольные точки

Примеры

свернуть все

Получить 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);

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

generateMesh(model,'Hmax',0.05);
ev = [0,100];
results = solvepdeeig(model,ev)
              Basis= 10,  Time=   1.28,  New conv eig=  0
              Basis= 11,  Time=   1.33,  New conv eig=  0
              Basis= 12,  Time=   1.37,  New conv eig=  0
              Basis= 13,  Time=   1.40,  New conv eig=  0
              Basis= 14,  Time=   1.44,  New conv eig=  0
              Basis= 15,  Time=   1.47,  New conv eig=  0
              Basis= 16,  Time=   1.49,  New conv eig=  0
              Basis= 17,  Time=   1.55,  New conv eig=  0
              Basis= 18,  Time=   1.61,  New conv eig=  1
              Basis= 19,  Time=   1.65,  New conv eig=  1
              Basis= 20,  Time=   1.70,  New conv eig=  1
              Basis= 21,  Time=   1.76,  New conv eig=  1
              Basis= 22,  Time=   1.83,  New conv eig=  3
              Basis= 23,  Time=   1.88,  New conv eig=  3
              Basis= 24,  Time=   1.96,  New conv eig=  4
              Basis= 25,  Time=   2.02,  New conv eig=  5
              Basis= 26,  Time=   2.09,  New conv eig=  6
              Basis= 27,  Time=   2.16,  New conv eig=  6
              Basis= 28,  Time=   2.22,  New conv eig=  6
              Basis= 29,  Time=   2.39,  New conv eig=  7
              Basis= 30,  Time=   2.47,  New conv eig=  7
              Basis= 31,  Time=   2.53,  New conv eig= 10
              Basis= 32,  Time=   2.61,  New conv eig= 10
              Basis= 33,  Time=   2.67,  New conv eig= 11
              Basis= 34,  Time=   2.73,  New conv eig= 11
              Basis= 35,  Time=   2.80,  New conv eig= 14
              Basis= 36,  Time=   2.87,  New conv eig= 14
              Basis= 37,  Time=   2.94,  New conv eig= 14
              Basis= 38,  Time=   3.01,  New conv eig= 14
              Basis= 39,  Time=   3.08,  New conv eig= 14
              Basis= 40,  Time=   3.19,  New conv eig= 14
              Basis= 41,  Time=   3.32,  New conv eig= 15
              Basis= 42,  Time=   3.43,  New conv eig= 15
              Basis= 43,  Time=   3.55,  New conv eig= 15
              Basis= 44,  Time=   3.73,  New conv eig= 16
              Basis= 45,  Time=   3.88,  New conv eig= 16
              Basis= 46,  Time=   3.99,  New conv eig= 16
              Basis= 47,  Time=   4.10,  New conv eig= 16
              Basis= 48,  Time=   4.26,  New conv eig= 17
              Basis= 49,  Time=   4.49,  New conv eig= 18
              Basis= 50,  Time=   4.76,  New conv eig= 18
              Basis= 51,  Time=   4.96,  New conv eig= 18
              Basis= 52,  Time=   5.24,  New conv eig= 18
              Basis= 53,  Time=   5.56,  New conv eig= 18
              Basis= 54,  Time=   5.82,  New conv eig= 21
End of sweep: Basis= 54,  Time=   5.83,  New conv eig= 21
              Basis= 31,  Time=   6.56,  New conv eig=  0
              Basis= 32,  Time=   6.66,  New conv eig=  0
              Basis= 33,  Time=   6.75,  New conv eig=  0
End of sweep: Basis= 33,  Time=   6.75,  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. The axes contains an object of type patch.

Представлен в R2016a