⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eigfem_s.m

📁 结构力学中的有限元例子,包含了7个分类文件夹
💻 M
字号:
function [ E_Vec, eig_Values] = eigFEM_s (K, M, N)

% eigFEM_s
% ---------------------------------------------------------------------
% N smallest eigenvalues and eigenvectors for stiffness & mass: K, M
% INPUT:
%       K           - stiffness matrix
%       M           - mass matrix
%       N           - number of smallest eig-values to compute
% OUTPUT:
%       E_Vect     - matrix of eigen vectors
%       eig_Values - eigen values
%
% 2004
% ---------------------------------------------------------------------
NEG = N;               % No of smallest eig-values to be computed
% eigen values and vectors calculation -------------------------------
opts.maxit = 40;   % maximum number of iterations
opts.tol = 1e+1;   % convergence
% opts.v0 = ones(size(M,1),1).*6.2;             % starting vector
[eig_vect, eig_val]=eigs(K,M,NEG,'SM',opts);  % NEG smallest eig-vales
eig_val=sqrt(real(eig_val));             % omega eigen-values

eig_V=diag(eig_val);                     % freq
eig_vect=real(eig_vect);                 % shapes

D = size(eig_vect,1);                    % # of dof's 

% ordering eigen vectors matrix --------------------------------------
NOM=0; DIN=realmax; S=0;

for i=1:NEG
   for k=1:NEG
      if abs(eig_V(k))>=abs(NOM)
         if abs(eig_V(k))<abs(DIN)
             NOM=eig_V(k); S=k;
         end;
      end;
   end;
   eig_Values(i)=NOM; DIN=NOM;    % ordered eigen-values:    eig_Values
   for p=1:D
       E_Vec(p,i)=eig_vect(p,S);  % ordered eigen-vectors:   E_Vec(p,mode#) 
   end;
   NOM=0;
end;
disp('Periods: (s)  ');
disp('-----------------------');
disp(2*pi./eig_Values);
disp('-----------------------');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -