资源简介
应用ARMA法进行结构模态识别的matlab程序
代码片段和文件信息
%ARMA法模态参数识别
%%%%%%%%%%%%%%%%%%%%%
clear
clc
close all hidden
format long
[DATAfileDATApath]=uigetfile(‘zzz.txt‘‘请选择数据文件‘);
FILENAME=[DATApathDATAfile];
if ~ischar(FILENAME)
msgbox(‘请选择数据文件!‘);
return;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
fni=FILENAME;%input(‘input data file name:‘‘s‘);
fid=fopen(fni‘r‘);
mn=124; %模态阶数
%定义输入实测数据类型:
%ig=1 时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果
%ig=2 频域数据如频响函数实部虚部数据
ig=1; %定义输入实测数据类型,ig=1(时域数据如冲击响应、自由振动、互相关函数、随机减量法处理结果)ig=2(频域数据如频响函数实部虚部数据)
f=200; %ig=1时f为采样频率sfig=2时f为频率间隔df
fno=‘jieguo124.txt‘; %输出数据文件名
b=fscanf (fid‘%f‘[iginf]); %实测时域或频域数据
status=fclose (fid);
%建立ARMA模型的阶数(为模态阶数的2倍)
nm=2*mn;
%组织识别计算所用的时域数据及参数
if ig==1 %实测时域数据
%取采样频率
sf=f;
%取时域数据1/2的长度
n=fix (length (b) /2);
%将输入时域数据值给列向量h
h=b (1 1: 2*n)‘;
%计算时间间隔
dt=1/sf;
%建立离散频率向量
t=0: dt: (2*n-1) *dt;
else %实测频域数据
%频域率间隔
df=f;
%取实测频响函数的长度
n=length (b (1:));
%建立离散频率向量
f=0: df: (n-1) *df;
%建立对应正负频率的实测频响函数向量
H=b (1:)‘+b (2:)‘*i;
H (n+1) =real (H (n));
H (n+2: 2*n) =conj (H (n: -1: 2));
%频响函数经IFFT并取实部变换成脉冲响应函数
h=real (ifft (H));
%建立离散时间向量
t=linspace (0 1/df 2*n);
%计算时间间隔
dt=t(2)-t(1);
end
%时间序列响应拟合的ARMA参数建模
%A和B分别为ARMA模型传递函数的分子和分母系数向量
[A B] =p
- 上一篇:基于stokes矢量转换matlab
- 下一篇:LPP算法的matlab实现
相关资源
-
matlab开发-mssamultiob
jectivesalpswarmalg - arma模型_matlab源码
- AR模型、MA模型和ARMA模型的matlab模型
- ARMA时间序列MATLAB代码.zip
- awayline SVM ARMA 基于风速预测的风力发
- 时间序列ARMA建模实例
- 现代谱估计的Cadzow谱估计子ARMA模型
- matlab的随机子空间算法
- ARMA建模的风速预测
- ARMA ARMA模型基于时间序列分析和预测
- 谐波恢复的ARMA建模
- 希尔伯特黄变换(HHT)求模态参数具
- arma 模型 的matlab 代码 实现
- Karman Filter matlab code
- ARMA谱估计的MATLAB实现
- ARMA模型法功率谱估计
- 谐波恢复的ARMA算法
评论
共有 条评论