㈠ matlab 振动信号处理中的 预处理 时域分析 频域分析程序 GUI设计 数据是台架振动数据

有很多中文字符,修改下:
%%%%%%%%%%%%%%%%%%%%%%%%
clear %消除内存中所有变量和函数
clc %消除工作窗口所显示的内容
close all hidden %关闭所有隐藏的窗口
%%%%%%%%%%%%%%%%%%%%%%%%%
%提示用键盘输入输入数据文件名
fni=input('消除多项式趋势项-输入数据文件名','s');
%以只读方式打开数据文件
fid=fopen(fni,'r');
sf=fscanf(fid,'%f',1); %读入采样频率值
m=fscanf(fid,'%d',1); %读入拟合多项式阶数
fno=fscanf(fid,'%s',1); %读入输出数据文件名
x=fscanf(fid,'%f',inf); %读入时程数据存成列向量
%关闭数据文件
status=fclose(fid);
%取信号数据长度
n=length(x);
%建立离散时间列向量
t=(0:1/sf:(n-1)/sf);
%计算趋势项的多项式系数待定系数向量a
a=polyfit(t,x,m);
%用x减去多项式系数a生成的趋势项
y=x-polyval(a,t);
%将分成2行1列的图形窗口的第1列设为当前绘图区域
subplot(2,1,1);
%绘制x对于t的时程曲线图形
plot(t,x);
%在图幅上添加坐标网络
grid on;
%将分成2行1列的图形窗口的第2列设为当前绘图区域
subplot(2,1,2);
%绘制y对于t的时程曲线
plot(t,y);
%在图幅上添加坐标网络
grid on;
%以写的方式打开文件或建立一个新文件
fid=fopen(fno,'w');
%进行n次循环将计算结果写到输出数据文件中
for k=1:n
%每行输出两个实型数据,t为时间,y为消除趋势项后的结果
fprintf(fid,'%f%f\n',t(k),y(k));
%循环体结束语句
end
%关闭数据文件
status=fclose(fid);

可能还是没修改完全 你再查查看

㈡ 如何用matlab编程法求多自由度振动系统的动力学响应,主要是求加速度和速度

假设得到的时间位移序列为s 为一维数组。变换为时间速度序列:
s_v=diff(s);
时间加速度序列:
s_a=diff(diff(s)); %即为对序列做两次微分。

㈢ 加速度传感器信号如何积分,成为位移

积分可以在时域里实现,也可以在频域里实现;

时域积分法:梯形公式数值积分法,或者其他直接积分法

梯形数值求积公式:

参考文献:王济,胡晓《MATLAB在振动信号处理中的应用》